From 208a32c301235625f935a96971b25ca1807b2ac5 Mon Sep 17 00:00:00 2001 From: Julia Seweryn Date: Tue, 27 Aug 2024 15:40:01 +0200 Subject: [PATCH 1/4] passkey_fixed --- sdk/packages/cloud/package.json | 2 +- sdk/packages/cloud/src/app.ts | 26 ++++++++++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/sdk/packages/cloud/package.json b/sdk/packages/cloud/package.json index 3510eece..a287c8bb 100644 --- a/sdk/packages/cloud/package.json +++ b/sdk/packages/cloud/package.json @@ -1,6 +1,6 @@ { "name": "@nightlylabs/nightly-cloud", - "version": "0.0.9", + "version": "0.0.13", "type": "module", "exports": { ".": { diff --git a/sdk/packages/cloud/src/app.ts b/sdk/packages/cloud/src/app.ts index f53c9706..438a9b48 100644 --- a/sdk/packages/cloud/src/app.ts +++ b/sdk/packages/cloud/src/app.ts @@ -202,7 +202,10 @@ export class NightlyCloud { EndpointType.Public, request )) as HttpRegisterWithPasskeyStartResponse - + // @ts-expect-error Fixes in direct parsing of the response + response.publicKey.challenge = Buffer.from(response.publicKey.challenge, 'base64') + // @ts-expect-error Fixes in direct parsing of the response + response.publicKey.user.id = Buffer.from(response.publicKey.user.id, 'base64') return response } @@ -266,7 +269,14 @@ export class NightlyCloud { EndpointType.Public, request )) as HttpLoginWithPasskeyStartResponse - + // @ts-expect-error Fixes in direct parsing of the response + response.publicKey.challenge = Buffer.from(response.publicKey.challenge, 'base64') + if (response.publicKey.allowCredentials) { + response.publicKey.allowCredentials.forEach((c) => { + // @ts-expect-error Fixes in direct parsing of the response + c.id = Buffer.from(c.id, 'base64') + }) + } return response } @@ -337,6 +347,10 @@ export class NightlyCloud { EndpointType.Public, request )) as HttpResetPasskeyStartResponse + // @ts-expect-error Fixes in direct parsing of the response + response.publicKey.challenge = Buffer.from(response.publicKey.challenge, 'base64') + // @ts-expect-error Fixes in direct parsing of the response + response.publicKey.user.id = Buffer.from(response.publicKey.user.id, 'base64') return response } @@ -363,6 +377,10 @@ export class NightlyCloud { EndpointType.Private, {} )) as HttpAddNewPasskeyStartResponse + // @ts-expect-error Fixes in direct parsing of the response + response.publicKey.challenge = Buffer.from(response.publicKey.challenge, 'base64') + // @ts-expect-error Fixes in direct parsing of the response + response.publicKey.user.id = Buffer.from(response.publicKey.user.id, 'base64') return response } @@ -567,10 +585,10 @@ export class NightlyCloud { EndpointType.Private )) as HttpGetPasskeyChallengeResponse - // @ts-expect-error + // @ts-expect-error Fixes in direct parsing of the response response.publicKey.challenge = Buffer.from(response.publicKey.challenge, 'base64') response.publicKey.allowCredentials?.forEach((c) => { - // @ts-expect-error + // @ts-expect-error Fixes in direct parsing of the response c.id = Buffer.from(c.id, 'base64') }) return response From 500880bbfb71fa9419e66f9aa8e73110f92c5b35 Mon Sep 17 00:00:00 2001 From: Julia Seweryn Date: Wed, 28 Aug 2024 10:36:54 +0200 Subject: [PATCH 2/4] fixed --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index b9c840a2..0c1167e9 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -ENV=DEV # PROD or DEV +ENV=PROD # PROD or DEV ONLY_RELAY_SERVICE=FALSE # TRUE - This will start only nightly relay service without cloud service NONCE=VERY_SECRET_NONCE MAILER_ADDRESS=do_not_reply@nightly.app From e400cce9b5b9b7b4822576f4585c2dd7386a7b3f Mon Sep 17 00:00:00 2001 From: Julia Seweryn Date: Wed, 28 Aug 2024 10:41:24 +0200 Subject: [PATCH 3/4] fixed --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 0c1167e9..b9c840a2 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -ENV=PROD # PROD or DEV +ENV=DEV # PROD or DEV ONLY_RELAY_SERVICE=FALSE # TRUE - This will start only nightly relay service without cloud service NONCE=VERY_SECRET_NONCE MAILER_ADDRESS=do_not_reply@nightly.app From 44b47430a2d7120fec21ba12e8e4a21d75a8b0f2 Mon Sep 17 00:00:00 2001 From: Julia Seweryn Date: Wed, 28 Aug 2024 12:30:58 +0200 Subject: [PATCH 4/4] fixed --- server/src/http/cloud/login/login_with_passkey_finish.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/src/http/cloud/login/login_with_passkey_finish.rs b/server/src/http/cloud/login/login_with_passkey_finish.rs index 14a0803e..d920f994 100644 --- a/server/src/http/cloud/login/login_with_passkey_finish.rs +++ b/server/src/http/cloud/login/login_with_passkey_finish.rs @@ -23,7 +23,7 @@ pub struct HttpLoginWithPasskeyFinishRequest { #[garde(email)] pub email: String, #[garde(skip)] - pub passkey_credential: PublicKeyCredential, + pub credential: PublicKeyCredential, #[garde(skip)] pub enforce_ip: bool, } @@ -64,7 +64,7 @@ pub async fn login_with_passkey_finish( // Finish passkey authentication if let Err(err) = web_auth.finish_passkey_authentication( - &request.passkey_credential, + &request.credential, &session_data.passkey_verification_state, ) { warn!(