From 8d2fd7247e9a0d6e7f257ecf59cb951c00bd9dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20=C3=85berg?= Date: Thu, 23 Jan 2025 21:07:57 +0100 Subject: [PATCH] Add logging --- .../CredentialProviderViewController.xib | 107 +++++++++++------- .../CredentialProviderViewController.swift | 11 ++ .../desktop-fido2-user-interface.service.ts | 2 +- 3 files changed, 79 insertions(+), 41 deletions(-) diff --git a/apps/desktop/macos/autofill-extension/Base.lproj/CredentialProviderViewController.xib b/apps/desktop/macos/autofill-extension/Base.lproj/CredentialProviderViewController.xib index ace3497a58b..d7f54c4521e 100644 --- a/apps/desktop/macos/autofill-extension/Base.lproj/CredentialProviderViewController.xib +++ b/apps/desktop/macos/autofill-extension/Base.lproj/CredentialProviderViewController.xib @@ -1,69 +1,96 @@ - + - - + + - + - + - - + + - + - - - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - + - + \ No newline at end of file diff --git a/apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift b/apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift index dbaa8517086..a6d894e0b84 100644 --- a/apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift +++ b/apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift @@ -153,8 +153,12 @@ class CredentialProviderViewController: ASCredentialProviderViewController { } override func prepareInterface(forPasskeyRegistration registrationRequest: ASCredentialRequest) { + logger.log("[autofill-extension] prepareInterface") + if let request = registrationRequest as? ASPasskeyCredentialRequest { if let passkeyIdentity = registrationRequest.credentialIdentity as? ASPasskeyCredentialIdentity { + logger.log("[autofill-extension] prepareInterface(passkey) called \(request)") + class CallbackImpl: PreparePasskeyRegistrationCallback { let ctx: ASCredentialProviderExtensionContext required init(_ ctx: ASCredentialProviderExtensionContext) { @@ -192,11 +196,18 @@ class CredentialProviderViewController: ASCredentialProviderViewController { userVerification: userVerification, supportedAlgorithms: request.supportedAlgorithms.map{ Int32($0.rawValue) } ) + logger.log("[autofill-extension] prepareInterface(passkey) calling preparePasskeyRegistration") + // Log details of the request + logger.log("[autofill-extension] rpId: \(req.rpId)") + logger.log("[autofill-extension] rpId: \(req.userName)") + CredentialProviderViewController.client.preparePasskeyRegistration(request: req, callback: CallbackImpl(self.extensionContext)) return } } + logger.log("[autofill-extension] We didn't get a passkey") + // If we didn't get a passkey, return an error self.extensionContext.cancelRequest(withError: BitwardenError.Internal("Invalid registration request")) } diff --git a/apps/desktop/src/autofill/services/desktop-fido2-user-interface.service.ts b/apps/desktop/src/autofill/services/desktop-fido2-user-interface.service.ts index c78adc96537..52eb87c4a96 100644 --- a/apps/desktop/src/autofill/services/desktop-fido2-user-interface.service.ts +++ b/apps/desktop/src/autofill/services/desktop-fido2-user-interface.service.ts @@ -79,7 +79,7 @@ export class DesktopFido2UserInterfaceSession implements Fido2UserInterfaceSessi rpId, ); - await this.messagingService.send("loadurl", { url: "/passkeys", modal: true }); + this.messagingService.send("loadurl", { url: "/passkeys", modal: true }); // Store the passkey on a new cipher to avoid replacing something important const cipher = new CipherView();