mirror of
https://github.com/bitwarden/browser
synced 2026-01-04 09:33:27 +00:00
[PM-9473] Add messaging for macOS passkey extension and desktop (#10768)
* Add messaging for macos passkey provider * fix: credential id conversion * Make build.sh executable Co-authored-by: Colton Hurst <colton@coltonhurst.com> * chore: add TODO --------- Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com> Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> Co-authored-by: Colton Hurst <colton@coltonhurst.com>
This commit is contained in:
@@ -25,6 +25,7 @@ import { BrowserScriptInjectorService } from "../../../platform/services/browser
|
||||
import { AbortManager } from "../../../vault/background/abort-manager";
|
||||
import { Fido2ContentScript, Fido2ContentScriptId } from "../enums/fido2-content-script.enum";
|
||||
import { Fido2PortName } from "../enums/fido2-port-name.enum";
|
||||
import { BrowserFido2ParentWindowReference } from "../services/browser-fido2-user-interface.service";
|
||||
|
||||
import { Fido2ExtensionMessage } from "./abstractions/fido2.background";
|
||||
import { Fido2Background } from "./fido2.background";
|
||||
@@ -56,7 +57,7 @@ describe("Fido2Background", () => {
|
||||
let senderMock!: MockProxy<chrome.runtime.MessageSender>;
|
||||
let logService!: MockProxy<LogService>;
|
||||
let fido2ActiveRequestManager: MockProxy<Fido2ActiveRequestManager>;
|
||||
let fido2ClientService!: MockProxy<Fido2ClientService>;
|
||||
let fido2ClientService!: MockProxy<Fido2ClientService<BrowserFido2ParentWindowReference>>;
|
||||
let vaultSettingsService!: MockProxy<VaultSettingsService>;
|
||||
let scriptInjectorServiceMock!: MockProxy<BrowserScriptInjectorService>;
|
||||
let configServiceMock!: MockProxy<ConfigService>;
|
||||
@@ -73,7 +74,7 @@ describe("Fido2Background", () => {
|
||||
});
|
||||
senderMock = mock<chrome.runtime.MessageSender>({ id: "1", tab: tabMock });
|
||||
logService = mock<LogService>();
|
||||
fido2ClientService = mock<Fido2ClientService>();
|
||||
fido2ClientService = mock<Fido2ClientService<BrowserFido2ParentWindowReference>>();
|
||||
vaultSettingsService = mock<VaultSettingsService>();
|
||||
abortManagerMock = mock<AbortManager>();
|
||||
abortController = mock<AbortController>();
|
||||
|
||||
@@ -23,10 +23,11 @@ import { ScriptInjectorService } from "../../../platform/services/abstractions/s
|
||||
import { AbortManager } from "../../../vault/background/abort-manager";
|
||||
import { Fido2ContentScript, Fido2ContentScriptId } from "../enums/fido2-content-script.enum";
|
||||
import { Fido2PortName } from "../enums/fido2-port-name.enum";
|
||||
import { BrowserFido2ParentWindowReference } from "../services/browser-fido2-user-interface.service";
|
||||
|
||||
import {
|
||||
Fido2Background as Fido2BackgroundInterface,
|
||||
Fido2BackgroundExtensionMessageHandlers,
|
||||
Fido2Background as Fido2BackgroundInterface,
|
||||
Fido2ExtensionMessage,
|
||||
SharedFido2ScriptInjectionDetails,
|
||||
SharedFido2ScriptRegistrationOptions,
|
||||
@@ -56,7 +57,7 @@ export class Fido2Background implements Fido2BackgroundInterface {
|
||||
constructor(
|
||||
private logService: LogService,
|
||||
private fido2ActiveRequestManager: Fido2ActiveRequestManager,
|
||||
private fido2ClientService: Fido2ClientService,
|
||||
private fido2ClientService: Fido2ClientService<BrowserFido2ParentWindowReference>,
|
||||
private vaultSettingsService: VaultSettingsService,
|
||||
private scriptInjectorService: ScriptInjectorService,
|
||||
private configService: ConfigService,
|
||||
|
||||
@@ -111,11 +111,15 @@ export type BrowserFido2Message = { sessionId: string } & (
|
||||
}
|
||||
);
|
||||
|
||||
export type BrowserFido2ParentWindowReference = chrome.tabs.Tab;
|
||||
|
||||
/**
|
||||
* Browser implementation of the {@link Fido2UserInterfaceService}.
|
||||
* The user interface is implemented as a popout and the service uses the browser's messaging API to communicate with it.
|
||||
*/
|
||||
export class BrowserFido2UserInterfaceService implements Fido2UserInterfaceServiceAbstraction {
|
||||
export class BrowserFido2UserInterfaceService
|
||||
implements Fido2UserInterfaceServiceAbstraction<BrowserFido2ParentWindowReference>
|
||||
{
|
||||
constructor(private authService: AuthService) {}
|
||||
|
||||
async newSession(
|
||||
|
||||
@@ -201,11 +201,11 @@ import {
|
||||
ImportServiceAbstraction,
|
||||
} from "@bitwarden/importer/core";
|
||||
import {
|
||||
DefaultKdfConfigService,
|
||||
KdfConfigService,
|
||||
BiometricStateService,
|
||||
BiometricsService,
|
||||
DefaultBiometricStateService,
|
||||
DefaultKdfConfigService,
|
||||
KdfConfigService,
|
||||
KeyService as KeyServiceAbstraction,
|
||||
} from "@bitwarden/key-management";
|
||||
import {
|
||||
@@ -232,7 +232,10 @@ import { MainContextMenuHandler } from "../autofill/browser/main-context-menu-ha
|
||||
import LegacyOverlayBackground from "../autofill/deprecated/background/overlay.background.deprecated";
|
||||
import { Fido2Background as Fido2BackgroundAbstraction } from "../autofill/fido2/background/abstractions/fido2.background";
|
||||
import { Fido2Background } from "../autofill/fido2/background/fido2.background";
|
||||
import { BrowserFido2UserInterfaceService } from "../autofill/fido2/services/browser-fido2-user-interface.service";
|
||||
import {
|
||||
BrowserFido2ParentWindowReference,
|
||||
BrowserFido2UserInterfaceService,
|
||||
} from "../autofill/fido2/services/browser-fido2-user-interface.service";
|
||||
import { AutofillService as AutofillServiceAbstraction } from "../autofill/services/abstractions/autofill.service";
|
||||
import AutofillService from "../autofill/services/autofill.service";
|
||||
import { InlineMenuFieldQualificationService } from "../autofill/services/inline-menu-field-qualification.service";
|
||||
@@ -337,10 +340,10 @@ export default class MainBackground {
|
||||
policyApiService: PolicyApiServiceAbstraction;
|
||||
sendApiService: SendApiServiceAbstraction;
|
||||
userVerificationApiService: UserVerificationApiServiceAbstraction;
|
||||
fido2UserInterfaceService: Fido2UserInterfaceServiceAbstraction;
|
||||
fido2AuthenticatorService: Fido2AuthenticatorServiceAbstraction;
|
||||
fido2UserInterfaceService: Fido2UserInterfaceServiceAbstraction<BrowserFido2ParentWindowReference>;
|
||||
fido2AuthenticatorService: Fido2AuthenticatorServiceAbstraction<BrowserFido2ParentWindowReference>;
|
||||
fido2ActiveRequestManager: Fido2ActiveRequestManagerAbstraction;
|
||||
fido2ClientService: Fido2ClientServiceAbstraction;
|
||||
fido2ClientService: Fido2ClientServiceAbstraction<BrowserFido2ParentWindowReference>;
|
||||
avatarService: AvatarServiceAbstraction;
|
||||
mainContextMenuHandler: MainContextMenuHandler;
|
||||
cipherContextMenuHandler: CipherContextMenuHandler;
|
||||
|
||||
Reference in New Issue
Block a user