@clerk/expo-passkeys
Prerequisites
- Expo 53 or later
- React 18 or later
- React Native 0.73 or later
- Node.js
>=20.9.0or later - An existing Expo application.
- An existing Clerk application. Create your account for free.
- Passkeys to be enabled
Usage
import { ClerkProvider } from '@clerk/expo';
import { passkeys } from '@clerk/expo/passkeys';
<ClerkProvider __experimental_passkeys={passkeys}>{/* Your app here */}</ClerkProvider>;Creating a Passkey
const { user } = useUser();
const handleCreatePasskey = async () => {
if (!user) return;
try {
return await user.createPasskey();
} catch (e: any) {
// handle error
}
};Authenticating with a Passkey
const { signIn, setActive } = useSignIn();
const handlePasskeySignIn = async () => {
try {
const signInResponse = await signIn.authenticateWithPasskey();
await setActive({ session: signInResponse.createdSessionId });
} catch (err: any) {
// handle error
}
};Support
For help, visit our support page.
Community
Join our Discord community to connect with other developers.
Contributing
We're open to all community contributions! If you'd like to contribute in any way, please read our contribution guidelines and code of conduct.
Security
@clerk/expo-passkeys follows good practices of security, but 100% security cannot be assured.
@clerk/expo-passkeys is provided "as is" without any warranty. Use at your own risk.
For more information and to report security issues, please refer to our security documentation.
License
This project is licensed under the MIT license.
See LICENSE for more information.