ashtuchkin / u2f

U2F Authentication for Node.js
399 stars 47 forks source link

Error in chechRegistration #12

Closed jdtotow closed 6 years ago

jdtotow commented 6 years ago

Hello everyone, I have a Yubico key and i'm trying to build some demo application but i can't complete the registration phase. You'll find bellow some data : ... u2f.checkRegistration(registrationRequest, data); ... registrationRequest is :

 {
  version: 'U2F_V2',
  appId: 'firstapp.example.app',
  challenge: 'gHFbg4gwc4QwR-iO3zViE5M7maHoTQm7QqWMRCW3IAg'
 }

and data is : {"registrationData":"BQQSiF3lTNiNfN2s-HA2usH4BT3SvxIY8GQHGMksfAWaUZGR7d6K_WJhDDmh3694b5TYghc_stAjBFddukNMRIrvQCbu7MzXpxuqXOJTRF00h9zDofYFwQUICuttYQ7zwZWD-9e5WNZ-IcLNviKDKtY74KaHj2ejZU5OoWh2FoEgN1gwggK-MIIBpqADAgECAgR0hv3CMA0GCSqGSIb3DQEBCwUAMC4xLDAqBgNVBAMTI1l1YmljbyBVMkYgUm9vdCBDQSBTZXJpYWwgNDU3MjAwNjMxMCAXDTE0MDgwMTAwMDAwMFoYDzIwNTAwOTA0MDAwMDAwWjBvMQswCQYDVQQGEwJTRTESMBAGA1UECgwJWXViaWNvIEFCMSIwIAYDVQQLDBlBdXRoZW50aWNhdG9yIEF0dGVzdGF0aW9uMSgwJgYDVQQDDB9ZdWJpY28gVTJGIEVFIFNlcmlhbCAxOTU1MDAzODQyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElV3zrfckfTF17_2cxPMaToeOuuGBCVZhUPs4iy5fZSe_V0CapYGlDQrFLxhEXAoTVIoTU8ik5ZpwTlI7wE3r7aNsMGowIgYJKwYBBAGCxAoCBBUxLjMuNi4xLjQuMS40MTQ4Mi4xLjEwEwYLKwYBBAGC5RwCAQEEBAMCBSAwIQYLKwYBBAGC5RwBAQQEEgQQ-KAR84wKTRWABhcRH57cfTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAxXEiA5ppSfjhmib1p_Qqob0nrnk6FRUFVb6rQCzoAih3cAflsdvZoNhqR4jLIEKecYwdMm256RusdtdhcREifhop2Q9IqXIYuwD8D5YSL44B9es1V-OGuHuITrHOrSyDj-9UmjLB7h4AnHR9L4OXdrHNNOliXvU1zun81fqIIyZ2KTSkC5gl6AFxNyQTcChgSDgr30Az8lpoohuWxsWHz7cvGd6Z41_tTA5zNoYa-NLpTMZUjQ51_2Upw8jBiG5PEzkJo0xdNlDvGrj_JN8LeQ9a0TiEVPfhQkl-VkGIuvEbg6xjGQfD-fm8qCamykHcZ9i5hNaGQMqITwJi3KDzuMEQCIFAETpO0Tpf6u5UPzm7zX081QKE0vFH7aGzcK7TOwaiTAiBK6W__RGUCt7ii_lKvpsxS6mLBklPvOM1HIp83ZAyWRw","clientData":"eyAiY2hhbGxlbmdlIjogInsgXCJ2ZXJzaW9uXCI6IFwiVTJGX1YyXCIsIFwiYXBwSWRcIjogXCJmaXJzdGFwcC5leGFtcGxlLmFwcFwiLCBcImNoYWxsZW5nZVwiOiBcImdIRmJnNGd3YzRRd1ItaU8zelZpRTVNN21hSG9UUW03UXFXTVJDVzNJQWdcIiB9IiwgIm9yaWdpbiI6ICJldm90ZS5uaXRyb3RlY2guYXBwIiwgInR5cCI6ICJuYXZpZ2F0b3IuaWQuZmluaXNoRW5yb2xsbWVudCIgfQ","version":"U2F_V2"}

And i'm getting {"errorMessage":"Invalid response from U2F token."} My u2f host is C based, should i do something with the base64 format before sending the response ? Thank you !

ashtuchkin commented 6 years ago

Hey, it's kinda hard to debug the problem remotely, but I suppose the error is coming from this line: https://github.com/ashtuchkin/u2f/blob/master/index.js#L108

That means that the second parameter (data) is not a dictionary/object as it is expected to be. If it's a string in your case, maybe you could do JSON.parse() on it?

jdtotow commented 6 years ago

Thank you @ashtuchkin. I should send the second parameter as an object and not a string!!!