-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No biometric attestation after creating publicKeyCredential #226
Comments
Hi @droider91 ,
Let me know if you are making the register call before making any preauthenticate calls. Thank you |
Hello @push2085 |
Hi @droider91 ,
If you are creating a web application, take a look at one of our sample applications for javascript sample to make the FIDO calls If you are making a iOS application, you can look at our sample iOS app to look at how to make fido calls (https://github.com/StrongKey/fido2/tree/master/sampleapps/swift/StrongKeyFIDODemo) If you are creating an android application, you can look at our sample SACL application for code snippets (https://github.com/StrongKey/fido2/tree/master/sampleapps/java/sacl/mobile/android) or go to android fido2 api (https://developers.google.com/identity/fido/android/native-apps). In all of above when you make a make credential call, you have to pass in options, which will determine what kind of authenticator will be registered. If your device supports biometrics and is enabled, it should prompt you for it. Also do this for the next test, on the FIDO server, enable fine logging (in a terminal) Run a registration and capture logs for the specific transaction from /usr/local/strongkey/payara5/glassfish/domains/domain1/logs/server.log Attach the log to this issue and I can look and let you know what kind of registration was processed. Thank you |
Hello @push2085
and get Signature object from
and passed this bioSignature to biometric prompt Is this correct process? |
Hi @droider91, Thank you |
Hello @push2085 Thank you for your support |
Hi @droider91, Thanks, |
First of all thanks for the awesome future ready feature @push2085 @arshadnoor
Here is what I am doint in my android application.
{"Response":{"rp":{"name":"FIDOServer","id":"fidoidqa.com"},"user":{"name":"devendra","id":"s5wXaholuoVwk86KQ0d_hmIxOkQPNS-bBBes8X4Cex8","displayName":"devendraLiapC"},"challenge":"COJ03Ch_6KDjlvnZ1jg_Qw","pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-35},{"type":"public-key","alg":-36},{"type":"public-key","alg":-8},{"type":"public-key","alg":-47},{"type":"public-key","alg":-257},{"type":"public-key","alg":-258},{"type":"public-key","alg":-259},{"type":"public-key","alg":-37},{"type":"public-key","alg":-38},{"type":"public-key","alg":-38}],"excludeCredentials":[{"type":"public-key","id":"NEVDOUQzNkMzMDBEM0U3MS1FNDczNTQ3QUVDRDQ1ODRELTk1MEJFOTM2NTI5MEIxNjctMTIxNkNFQjY1ODIzQTI5OQ","alg":-7},{"type":"public-key","id":"MUUzMDY0RkNGQUZEOTM5Ni1FMzlFOUM2MkUwOTQ4NzcwLTA0NzUyMEFBREM0ODUwM0UtMEU4ODdFOEFCRjFCMDE3QQ","alg":-7},{"type":"public-key","id":"hhkXnYmUiu_bzLy5HPHJvZs6TQA-302jRdeLHBgpL40","alg":-257}],"attestation":"direct"}}
PreregisterChallenge
var preregisterChallenge = PreregisterChallenge() val authenticatorSelectionCriteria = AuthenticatorSelectionCriteria() authenticatorSelectionCriteria.authenticatorAttachment = "Android" authenticatorSelectionCriteria.isRequireResidentKey = true authenticatorSelectionCriteria.userVerification = "required" val authSelectionJson = Gson().toJson(authenticatorSelectionCriteria) val myCustomArray: JsonArray = Gson().toJsonTree(userData.Response?.pubKeyCredParams).asJsonArray preregisterChallenge.apply { id = 100 uid = 1001 did = 1003 rpid = userData.Response?.rp?.id userid = "1001" username = "devendra" displayName = "devendra" challenge = userData.Response?.challenge authenticatorSelectionJSONObject = JSONObject(authSelectionJson) authenticatorSelection = authSelectionJson publicKeyCredentialParams = myCustomArray.toString() credParamsJSONArray = JSONArray(myCustomArray.toString()) }
and passing this challenge like this
val publicKeyCredential = AuthenticatorMakeCredential.execute( ContextWrapper(context), preregisterChallenge, "fidoidqa.com" ) as PublicKeyCredential
I am getting the
publickKeyCredential
without any errorthen I am creating preauth challenge
var preauthenticateChallenge = PreauthenticateChallenge() preauthenticateChallenge.apply { id = 100 uid = 1001 did = 1003 rpid = userData.Response?.rp?.id challenge = userData.Response?.challenge } // Generate the digital signature val sign = AuthenticatorGetAssertion.execute( ContextWrapper(context), preauthenticateChallenge, publicKeyCredential, 1, "fidoidqa.com" )
But in this process I am not getting the biometric prompt to sign the public key.
Here is what I want to do
and on another screen same user will again prove his presence to any transaction
Please let me know where I am doing wrong in code or what is the process to do the above points
Thanks again
The text was updated successfully, but these errors were encountered: