ASCredentialProviderViewController method not called – prepareCredentialListForServiceIdentifiers:requestParameters:

We extended the ASCredentialProviderViewController in our app to provide passkeys and everything seems to be working fine (from the user's perspective).

But we are curious why

prepareCredentialListForServiceIdentifiers:requestParameters:

is never called.

Since:

  1. Passkey credentials seem only to be used / offered when added to the ASCredentialIdentityStore.

  2. We duplicated a passkey in our app for about 15 times and all passkeys for the same service were still offered by the credential chooser from iOS and not in our app (via "prepareCredentialListForServiceIdentifiers:requestParameters:").

we believe that in the current versions of iOS "prepareCredentialListForServiceIdentifiers:requestParameters:" is not used.

It would be nice to get some clarification since it currently seems not possible to test the implementation of this method!

Answered by Systems Engineer in 782396022

There was an issue in some earlier versions of iOS 17 where this wouldn't be reachable. As of iOS 17.4, this is now fixed and this method is reachable when a user pulls up the extension's full list of credentials. This can happen in a few ways, including via the key button in the QuickType bar, or choosing the extension from the system ASAuthorization sheet.

Accepted Answer

There was an issue in some earlier versions of iOS 17 where this wouldn't be reachable. As of iOS 17.4, this is now fixed and this method is reachable when a user pulls up the extension's full list of credentials. This can happen in a few ways, including via the key button in the QuickType bar, or choosing the extension from the system ASAuthorization sheet.

Thank you for your reply, we will now implement this method :)

ASCredentialProviderViewController method not called – prepareCredentialListForServiceIdentifiers:requestParameters:
 
 
Q