You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
I'm facing an issue with Passkey.getImmediate() on iOS when multiple user accounts have registered passkeys on the same device. #117
I'm facing an issue with Passkey.getImmediate() on iOS when multiple user accounts have registered passkeys on the same device.
I'm using:
React Native
react-native-passkey: 3.6.1
iOS
Steps to reproduce
Login with Account A.
Register a passkey for Account A.
Logout.
Login with Account B on the same device.
Register a passkey for Account B.
Logout.
Try to login again with Account A using Passkey.getImmediate().
The passkey prompt does not appear and Account A's passkey is not returned.
Try the same flow with Account B.
Account B's passkey prompt appears/works as expected.
Expected behavior
Both registered passkeys should remain available independently.
When attempting to authenticate Account A, the passkey registered for Account A should be available even though Account B was the most recently used account.
Ideally, getImmediate() should either:
Return the matching passkey for Account A, or
Fall back appropriately so the user can select the correct passkey.
Actual behavior
After registering passkeys for two different accounts on the same iOS device:
The passkey for the most recently registered/used account (Account B) works.
The passkey for the previous account (Account A) does not trigger the passkey prompt when using getImmediate().
It appears that the most recently used account/credential is being prioritized.
Additional information
The passkeys for both accounts are registered successfully and are still present on the device.
The issue seems specific to getImmediate() on iOS when multiple passkeys/accounts exist for the same relying party.
Using the normal Passkey.get() behavior may show the passkey UI, but getImmediate() does not behave as expected for the previously used account.
Could you please confirm whether this is expected behavior from Apple's preferImmediatelyAvailableCredentials / ASAuthorizationController implementation, or whether react-native-passkey can handle multiple registered accounts differently?
Activity