feat: add passkeys support for signup and signin#1530
Open
subhankarmaiti wants to merge 10 commits into
Open
Conversation
…into feat/passkeys-support
pmathew92
reviewed
May 11, 2026
| }) | ||
| } | ||
|
|
||
| private fun performPasskeyRegistration( |
Contributor
There was a problem hiding this comment.
We don't want the SDK to handle this operation. SDK should expose the two APIs responsible for
- Requesting the Challenge
- Exchanging the token.
and let the user handle the end to end flow. All our docs and tutorials follow the same pattern. Both the native SDKs also follow this approach . Curious to know why you went to implement this end to end flow ?
Contributor
Author
There was a problem hiding this comment.
updated as per the native implementation
…into feat/passkeys-support
…into feat/passkeys-support
…ve and web platforms
… and integrate into Home screen
pmathew92
reviewed
May 26, 2026
| implementation "androidx.browser:browser:1.2.0" | ||
| implementation 'com.auth0.android:auth0:3.15.0' | ||
| implementation 'com.auth0.android:auth0:3.17.0' | ||
| implementation "androidx.credentials:credentials:1.5.0" |
Contributor
There was a problem hiding this comment.
You can remove androidx.credentials since we are not doing the complete end to end flow
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds passkey authentication support, enabling passwordless biometric login via platform passkeys (Face ID, Touch ID, fingerprint). This PR provides the Auth0 challenge and token exchange methods, plus a complete example app native module demonstrating the full passkey flow end-to-end.
Methods Added
passkeySignupChallengepasskeyLoginChallengepasskeyExchangeError Handling
Adds
PasskeyError(extendsAuthError) withPasskeyErrorCodes:PASSKEY_CHALLENGE_FAILED,PASSKEY_EXCHANGE_FAILED,PASSKEY_USER_CANCELLED,PASSKEY_NOT_AVAILABLE,PASSKEY_UNSUPPORTED_PLATFORMExample App — Native Passkey Module
The example app includes a native credential manager module (
PasskeyModule) that wraps platform APIs to demonstrate the complete flow:AuthenticationServices—ASAuthorizationPlatformPublicKeyCredentialProvider(requires iOS 16.6+)androidx.credentials.CredentialManager—CreatePublicKeyCredentialRequest/GetPublicKeyCredentialOption(requires API 28+)The module exposes two methods to JavaScript:
createPasskey(requestJson)— creates a new passkey (registration)getPasskey(requestJson)— asserts an existing passkey (authentication)Usage
With Hooks
Example App (Full Flow)
The example app demonstrates the complete flow using its built-in native module:
Platform Requirements
webcredentialsPasskeyErrorwithUNSUPPORTED_PLATFORM)Test Plan
npx tsc --noEmitpasses