

Native passkey UI on iOS and Android
Configure passkeys in the Authsignal Portal
- Navigate to the Authenticators section of the Portal and click Set up Passkey.
- Set your Relying Party ID. The value should correspond to the web domain associated with your mobile app. For more information refer to our Mobile SDK documentation.
- If targeting Android you should also click Add Android app origin and enter your app’s SHA-256 fingerprint value. For more information on how to obtain this value refer to our Mobile SDK documentation.
Setting an expected origin value for your Android app's SHA-256 fingerprint
Setup SDKs
Passkeys require integration from your backend server and your mobile app.- Get your tenant’s credentials from the API keys page.
- Follow the setup instructions for one of our Server SDKs - or integrate via REST with our Server API.
- Follow the setup instructions for our Mobile SDKs for Swift, Kotlin, React Native, or Flutter.
Creating passkeys
In Authsignal, you define an action to let users create passkeys. This does two things:- It provides observability for all passkey creation events in the Authsignal Portal.
- It ensures that the passkey is securely bound to an existing user.
1. Backend - Generate token
In your backend, track an action using a Server SDK to generate a short-lived enrollment token.2. App - Create passkey
In your app, call the signUp method using one of our Mobile SDKs, passing the token generated in step 1.Authenticating with passkeys
You can define another action to let users authenticate with their passkeys. This action will be used for observability and to authenticate the user on the server.1. App - Sign in with passkey
In your app, call the signIn method using one of our Mobile SDKs.2. Backend - Validate action
Pass the token returned in the previous step to your backend, validating the result of the authentication server-side.Passkey availability
Due to security restrictions in the design of passkeys, iOS and Android don’t expose an API to query if a passkey is available on a device. This means we need to handle the UX around passkey availability carefully both when creating and authenticating with passkeys.Creating passkeys
Prompting users to create a passkey proactively is a great way of increasing adoption.
An example of prompting users to create a passkey from the Uber app
- A passkey has not been created on the current device.
- A passkey has not been used on the current device after it was created on another device.
- A passkey has been removed in the Authsignal Portal after it was created or used on the current device.
- A passkey is available which was created on another device and has not yet been used on the current device.