fmt value is "none" on ASAuthorizationPlatformPublicKeyCredentialRegistration

When retrieving the ASAuthorizationPlatformPublicKeyCredentialRegistration, the decoded fmt value of rawAttestationObject is none instead of apple.

Is this currently expected?

Answers

Like on the web, this is the default value unless you explicitly request attestation. You can do that through ASAuthorizationPublicKeyCredentialRegistrationRequest.attestationPreference.

Note that not all attestation preferences are supported by all security keys or passkeys.

  • Thanks for the feedback. Unfortunately the result still persists when setting the value as direct. Using the Platform authenticator with FaceID. Could I be missing a separate configuration here?

    Device Model: iPhone 12 mini

            let platformProvider = ASAuthorizationPlatformPublicKeyCredentialProvider(relyingPartyIdentifier: rpName) let platformKeyRequest = platformProvider.createCredentialRegistrationRequest(challenge: challenge, name: userName, userID: userIdData)         platformKeyRequest.userVerificationPreference = .required         platformKeyRequest.attestationPreference = .direct         let authController = ASAuthorizationController(authorizationRequests: [platformKeyRequest])         authController.delegate = self         authController.presentationContextProvider = self         authController.performRequests()
  • From what I can see here, that looks correct. Please send us a feedback so we can take a closer look.

  • Thanks for the help. Submitted it https://feedbackassistant.apple.com/feedback/9162351

Add a Comment

Thanks for the feedback. Unfortunately the result still persists when setting the value as direct. Using the Platform authenticator with FaceID. Could I be missing a separate configuration here? 

Device Model: iPhone 12 mini      

let platformProvider = ASAuthorizationPlatformPublicKeyCredentialProvider(relyingPartyIdentifier: rpName) 
let platformKeyRequest = platformProvider.createCredentialRegistrationRequest(challenge: challenge, name: userName, userID: userIdData)
platformKeyRequest.userVerificationPreference = .required    
platformKeyRequest.attestationPreference = .direct    
let authController = ASAuthorizationController(authorizationRequests: [platformKeyRequest])    
authController.delegate = self    
authController.presentationContextProvider = self    
authController.performRequests()
  • +1, I am facing the same issue.

  • tested on beta 3, the issue is still present for me.

  • Just checked on beta 4, now I am getting an error "Passkeys do not support attestation.".