"ASCredentialProviderViewController" class was implemented in my password manager to autofill password for the app clients.
I've added passkey support recently but biometric/code authentication is not asked by the system when the user tries to sign in with a passkey thanks to "provideCredentialWithoutUserInteraction(for credentialRequest: ASCredentialRequest)".
For passwords:
extensionContext.completeRequest(withSelectedCredential: ASPasswordCredential(), completionHandler: nil)
-> Does trigger biometric/code authentication
For passkeys:
extensionContext.completeAssertionRequest(using: ASPasskeyAssertionCredential())
-> Does NOT trigger biometric/code authentication
=> Why authentication is managed by the system for password but not for passkeys ? And how to fix that?
Post
Replies
Boosts
Views
Activity
I did implement "ASCredentialProviderViewController" class for my password manager in order to support passkey recently. Passkey registration and assertion works correctly but remote fullfilling is not working as expected.
Use case:
The user wants to sign in with passkey on some computer
A QRCode is displayed and the user scan the QRCode
Apple Authentication bottom sheet is opened and the client can pick my app as a provider
ISSUE HERE: my app doesn't receive the passkey request parameters and is not able to generate the assertion answer
I was hoping the following functions to be called but it's not the case:
prepareCredentialList(for serviceIdentifiers: [ASCredentialServiceIdentifier], requestParameters: ASPasskeyCredentialRequestParameters)
prepareInterfaceToProvideCredential(for credentialRequest: ASCredentialRequest)
provideCredentialWithoutUserInteraction(for credentialRequest: ASCredentialRequest)
=> Please, how can my app receive the passkey request parameters in order to generate the assertion answer in this situation?