1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-04 18:53:20 +00:00

[PM-4284] Passkey popout is not pulling correct URI for website opened (#6549)

* Used url from sender window in getting matching logins

* Rough draft to combine user verification required and master password required prompts

* Revert "Rough draft to combine user verification required and master password required prompts"

This reverts commit f72d6f877f.
This commit is contained in:
SmithThe4th
2023-10-12 09:48:31 -04:00
committed by GitHub
parent 6a9afa85e3
commit 973bbc4e1c
4 changed files with 16 additions and 11 deletions

View File

@@ -29,7 +29,7 @@ interface BrowserPopoutWindowService {
): Promise<void>;
closePasswordRepromptPrompt(): Promise<void>;
openFido2Popout(
senderWindowId: number,
senderWindow: chrome.tabs.Tab,
promptData: {
sessionId: string;
senderTabId: number;

View File

@@ -96,7 +96,7 @@ class BrowserPopoutWindowService implements BrowserPopupWindowServiceInterface {
}
async openFido2Popout(
senderWindowId: number,
senderWindow: chrome.tabs.Tab,
{
sessionId,
senderTabId,
@@ -114,12 +114,18 @@ class BrowserPopoutWindowService implements BrowserPopupWindowServiceInterface {
"?uilocation=popout" +
`&sessionId=${sessionId}` +
`&fallbackSupported=${fallbackSupported}` +
`&senderTabId=${senderTabId}`;
`&senderTabId=${senderTabId}` +
`&senderUrl=${encodeURIComponent(senderWindow.url)}`;
return await this.openSingleActionPopout(senderWindowId, promptWindowPath, "fido2Popout", {
width: 200,
height: 500,
});
return await this.openSingleActionPopout(
senderWindow.windowId,
promptWindowPath,
"fido2Popout",
{
width: 200,
height: 500,
}
);
}
async closeFido2Popout(): Promise<void> {

View File

@@ -343,7 +343,7 @@ export class BrowserFido2UserInterfaceSession implements Fido2UserInterfaceSessi
)
);
const popoutId = await this.browserPopoutWindowService.openFido2Popout(this.tab.windowId, {
const popoutId = await this.browserPopoutWindowService.openFido2Popout(this.tab, {
sessionId: this.sessionId,
senderTabId: this.tab.id,
fallbackSupported: this.fallbackSupported,

View File

@@ -89,6 +89,7 @@ export class Fido2Component implements OnInit, OnDestroy {
map((queryParamMap) => ({
sessionId: queryParamMap.get("sessionId"),
senderTabId: queryParamMap.get("senderTabId"),
senderUrl: queryParamMap.get("senderUrl"),
}))
);
@@ -97,7 +98,7 @@ export class Fido2Component implements OnInit, OnDestroy {
concatMap(async ([queryParams, message]) => {
this.sessionId = queryParams.sessionId;
this.senderTabId = queryParams.senderTabId;
this.url = queryParams.senderUrl;
// For a 'NewSessionCreatedRequest', abort if it doesn't belong to the current session.
if (
message.type === "NewSessionCreatedRequest" &&
@@ -145,8 +146,6 @@ export class Fido2Component implements OnInit, OnDestroy {
concatMap(async (message) => {
switch (message.type) {
case "ConfirmNewCredentialRequest": {
const activeTabs = await BrowserApi.getActiveTabs();
this.url = activeTabs[0].url;
const equivalentDomains = this.settingsService.getEquivalentDomains(this.url);
this.ciphers = (await this.cipherService.getAllDecrypted()).filter(