diff --git a/apps/browser/src/vault/fido2/content/content-script.ts b/apps/browser/src/vault/fido2/content/content-script.ts index 6d03c421110..3fe3e814481 100644 --- a/apps/browser/src/vault/fido2/content/content-script.ts +++ b/apps/browser/src/vault/fido2/content/content-script.ts @@ -21,7 +21,7 @@ async function getFromLocalStorage(keys: string | string[]): Promise) { + const excludedDomains = activeUserSettings?.neverDomains; return excludedDomains && window.location.hostname in excludedDomains; } @@ -53,6 +57,10 @@ function isSameOriginWithAncestors() { } } +async function isLocationBitwardenVault(activeUserSettings: Record) { + return window.location.origin === activeUserSettings.serverConfig.environment.vault; +} + function initializeFido2ContentScript() { const s = document.createElement("script"); s.src = chrome.runtime.getURL("content/fido2/page-script.js"); @@ -132,9 +140,21 @@ function initializeFido2ContentScript() { } async function run() { - if ((await hasActiveUser()) && (await isFido2FeatureEnabled()) && !(await isDomainExcluded())) { - initializeFido2ContentScript(); + if (!(await hasActiveUser())) { + return; } + + const activeUserSettings = await getActiveUserSettings(); + if ( + activeUserSettings == null || + !(await isFido2FeatureEnabled()) || + (await isDomainExcluded(activeUserSettings)) || + (await isLocationBitwardenVault(activeUserSettings)) + ) { + return; + } + + initializeFido2ContentScript(); } run();