Replies: 5 comments 17 replies
-
Hmm, I've not come across this issue for all the iPhone registration I see at my day job. Perhaps the challenge is being double-encoded somewhere so what seems like the challenge in the response being sent back is base64-encoded is actually an erroneous additional base64 encoding of the challenge prior to handing it to the authenticator. 🤔 |
Beta Was this translation helpful? Give feedback.
-
Try passing in "com.domain.stageapi" to the iOS library. I ran into a similar problem where their documentation said one form in one place and reverse domain in another. The iOS library may simply be verifying your plist entry and complaining that "com.domain.stageapi" != to "stageapi.domain.com"; |
Beta Was this translation helpful? Give feedback.
-
Have you tried corbado's flutter iOS/app. At this point you need another native iOS library to compare. See: I was able to use the demo with a domain configured on apple developer, so it would help to eliminate your library – unless you are currently using it. |
Beta Was this translation helpful? Give feedback.
-
I'm trying to use this library with my native iOS app, and I'm passing the following data to the server for registration: type RequestData = {
email?: string, // Base-64 encoded, the value the user enters in the email/user ID field
credentialID: string, // Base-64 encoded
clientDataJSON: string, // Base-64-encoded JSON, challenge also base-64 encoded: {"type":"webauthn.create","challenge":"cGFzc2tleSBjaGFsbGVuZ2U","origin":"https://<RPID>"}
attestationObject: string, // Base-64 encoded
}; After looking at the examples in the documentation and trying the provided methods, I can't figure out how to use the server library to validate the registration. Could you provide an example? |
Beta Was this translation helpful? Give feedback.
-
Also it would be helpful to see an example of authentication with this data sent from an iOS app: type RequestData = {
email?: string, // undefined
userID: string, // Base-64 encoded, the value the user enters in the email/user ID field
credentialID: string, // Base-64 encoded
authenticatorData?: string, // Base-64 encoded
clientDataJSON: string, // Base-64 encoded JSON, challenge base-64 encoded: {"type":"webauthn.get","challenge":"cGFzc2tleSBjaGFsbGVuZ2U","origin":"https://<RPID>"}
signature?: string // Base-64 encoded
}; |
Beta Was this translation helpful? Give feedback.
-
Has anyone been able to get this to work with a native iOS app? The challenge in the clientDataJSON property that's sent back after creating a credential is base64 encoded by Apple but this library's validation seems to expect it to be decoded.
Are there any good docs for integrating with this natively? All the resources I've found are all over the place and nothing seems consistent.
Beta Was this translation helpful? Give feedback.
All reactions