In addition to the reference documentation below, check out our end-to-end guide on how to
implement passkeys in mobile apps using Authsignal.
Prerequisites
After you have configured your Relying Party you should follow the steps below.- iOS
- Android
To use passkeys you must first setup an associated domain with the
webcredentials service type.1
Host an
apple-app-site-association file on the domain that matches your relying party:2
The response JSON should look something like this:where
ABCDE12345 is your team id and com.example.app is your bundle identifier.3
In XCode under “Signing & Capabilities” add a 
webcredentials entry for your domain / relying party e.g. example.com:
Creating a passkey
Creating a passkey must be authorized by presenting a challenge with an existing method or tracking an action to obtain a short-lived token.Parameters
A short-lived token obtained by tracking an
action.
The primary user identifier associated with the passkey, e.g. the user’s email address.
An optional secondary user identifier which the OS may display in place of or alongside the
username, e.g. the user’s full name.
Response
Using a passkey
CallingsignIn will present the passkey sign-in prompt if a credential is available on the device.
If the user successfully authenticates with their passkey, send the result token to your server to validate the challenge.
Parameters
A string which determines how the action associated with the passkey sign-in attempt will be named
in the Authsignal Portal. Values are validated with the following
regex:
^[a-zA-Z0-9_-]{(1, 64)}$.If set to true, the passkey prompt will not be shown when no credentials are available on the
device and an error code will be
returned.
Defaults to true. Set this to false if you want to support signing in with credentials on another
device via QR code.
Response
Device support
Passkeys are supported from iOS 15 and Android API level 28 or higher. You can detect whether or not the current device supports passkeys by using theisSupported helper method.
Passkey autofill (iOS)
This feature requires rendering a text field with thetextContentType property.
Cancelling a request (iOS)
If you callsignIn to present the passkey sign-in prompt, you will need to cancel a request that is already in progress (e.g. an autofill request).

