https://github.com/kinde-oss/expo
Library to integrate Kinde into an Expo project
https://github.com/kinde-oss/expo
auth authentication expo expo-auth-session kinde react-native
Last synced: 9 months ago
JSON representation
Library to integrate Kinde into an Expo project
- Host: GitHub
- URL: https://github.com/kinde-oss/expo
- Owner: kinde-oss
- License: mit
- Created: 2024-07-10T14:04:03.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-02T20:32:03.000Z (10 months ago)
- Last Synced: 2025-04-20T14:04:14.804Z (9 months ago)
- Topics: auth, authentication, expo, expo-auth-session, kinde, react-native
- Language: TypeScript
- Homepage: https://www.kinde.com
- Size: 449 KB
- Stars: 7
- Watchers: 6
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Kinde Expo SDK
The Kinde Expo SDK allows developers to quickly and securely integrate a new or an existing Expo application into the Kinde platform.
## **Installation**
```bash
npx nypm add @kinde/expo
```
## **Environment variables**
The redirection URL is automatically computed using Expo Auth Session `makeRedirectUri` function. You can find more information about this function [here](https://docs.expo.dev/versions/latest/sdk/auth-session/#makeRedirectUri).
## Integrate with your app
Setup the Kinde Provider in your App.js file.
```typescript
import { KindeAuthProvider } from '@kinde/expo';
export default function App() {
return (
);
}
```
## Authentication Methods
Simple and flexible functions for register, login and logout are part of the `useKindeAuth` hook
```tsx
import { useKindeAuth } from "@kinde/expo";
import { Pressable, View, Text } from "react-native";
export default function Authentication() {
const kinde = useKindeAuth();
const handleSignUp = async () => {
const token = await kinde.register({});
if (token) {
// User was authenticated
}
};
const handleSignIn = async () => {
const token = await kinde.login({});
if (token) {
// User was authenticated
}
};
const handleLogout = async () => {
await kinde.logout({ revokeToken: true });
};
return !kinde.isAuthenticated ? (
Sign In
Sign Up
) : (
Logout
);
}
```
## Contributing
If you'd like to contribute to this project, please follow these steps:
1. Fork the repository.
2. Create a new branch.
3. Make your changes.
4. Submit a pull request.
## License
By contributing to Kinde, you agree that your contributions will be licensed under its MIT License.