mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 16:23:44 +00:00
[EC-598] feat: show user name as sub title
This commit is contained in:
@@ -33,9 +33,10 @@ export class Fido2Component implements OnInit, OnDestroy {
|
||||
|
||||
if (this.data?.type === "ConfirmNewCredentialRequest") {
|
||||
const cipher = new CipherView();
|
||||
cipher.name = this.data.name;
|
||||
cipher.name = this.data.credentialName;
|
||||
cipher.type = CipherType.Fido2Key;
|
||||
cipher.fido2Key = new Fido2KeyView();
|
||||
cipher.fido2Key.userName = this.data.userName;
|
||||
this.ciphers = [cipher];
|
||||
} else if (this.data?.type === "ConfirmCredentialRequest") {
|
||||
const cipher = await this.cipherService.get(this.data.cipherId);
|
||||
|
||||
@@ -30,7 +30,8 @@ export type BrowserFido2Message = { requestId: string } & (
|
||||
}
|
||||
| {
|
||||
type: "ConfirmNewCredentialRequest";
|
||||
name: string;
|
||||
credentialName: string;
|
||||
userName: string;
|
||||
}
|
||||
| {
|
||||
type: "ConfirmNewCredentialResponse";
|
||||
@@ -115,9 +116,14 @@ export class BrowserFido2UserInterfaceService implements Fido2UserInterfaceServi
|
||||
return response.cipherId;
|
||||
}
|
||||
|
||||
async confirmNewCredential({ name }: NewCredentialParams): Promise<boolean> {
|
||||
async confirmNewCredential({ credentialName, userName }: NewCredentialParams): Promise<boolean> {
|
||||
const requestId = Utils.newGuid();
|
||||
const data: BrowserFido2Message = { type: "ConfirmNewCredentialRequest", requestId, name };
|
||||
const data: BrowserFido2Message = {
|
||||
type: "ConfirmNewCredentialRequest",
|
||||
requestId,
|
||||
credentialName,
|
||||
userName,
|
||||
};
|
||||
const queryParams = new URLSearchParams({ data: JSON.stringify(data) }).toString();
|
||||
this.popupUtilsService.popOut(
|
||||
null,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export interface NewCredentialParams {
|
||||
name: string;
|
||||
credentialName: string;
|
||||
userName: string;
|
||||
}
|
||||
|
||||
export abstract class Fido2UserInterfaceService {
|
||||
|
||||
@@ -137,6 +137,8 @@ export class CipherRequest {
|
||||
cipher.fido2Key.keyValue != null ? cipher.fido2Key.keyValue.encryptedString : null;
|
||||
this.fido2Key.rpId =
|
||||
cipher.fido2Key.rpId != null ? cipher.fido2Key.rpId.encryptedString : null;
|
||||
this.fido2Key.rpName =
|
||||
cipher.fido2Key.rpName != null ? cipher.fido2Key.rpName.encryptedString : null;
|
||||
this.fido2Key.userHandle =
|
||||
cipher.fido2Key.userHandle != null ? cipher.fido2Key.userHandle.encryptedString : null;
|
||||
this.fido2Key.userName =
|
||||
|
||||
@@ -174,6 +174,9 @@ export class CipherView implements View, InitializerMetadata {
|
||||
case CipherType.SecureNote:
|
||||
view.secureNote = SecureNoteView.fromJSON(obj.secureNote);
|
||||
break;
|
||||
case CipherType.Fido2Key:
|
||||
view.fido2Key = Fido2KeyView.fromJSON(obj.fido2Key);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { Jsonify } from "type-fest";
|
||||
|
||||
import { ItemView } from "./item.view";
|
||||
|
||||
export class Fido2KeyView extends ItemView {
|
||||
@@ -11,6 +13,10 @@ export class Fido2KeyView extends ItemView {
|
||||
origin: string;
|
||||
|
||||
get subTitle(): string {
|
||||
return null;
|
||||
return this.userName;
|
||||
}
|
||||
|
||||
static fromJSON(obj: Partial<Jsonify<Fido2KeyView>>): Fido2KeyView {
|
||||
return Object.assign(new Fido2KeyView(), obj);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1251,10 +1251,14 @@ export class CipherService implements CipherServiceAbstraction {
|
||||
model.fido2Key,
|
||||
cipher.fido2Key,
|
||||
{
|
||||
key: null,
|
||||
keyType: null,
|
||||
keyCurve: null,
|
||||
keyValue: null,
|
||||
rpId: null,
|
||||
origin: null,
|
||||
rpName: null,
|
||||
userHandle: null,
|
||||
userName: null,
|
||||
origin: null,
|
||||
},
|
||||
key
|
||||
);
|
||||
|
||||
@@ -47,7 +47,8 @@ export class Fido2Service implements Fido2ServiceAbstraction {
|
||||
params: CredentialRegistrationParams
|
||||
): Promise<CredentialRegistrationResult> {
|
||||
const presence = await this.fido2UserInterfaceService.confirmNewCredential({
|
||||
name: params.origin,
|
||||
credentialName: params.rp.name,
|
||||
userName: params.user.displayName,
|
||||
});
|
||||
// eslint-disable-next-line no-console
|
||||
console.log("Fido2Service.createCredential", params);
|
||||
@@ -212,10 +213,10 @@ export class Fido2Service implements Fido2ServiceAbstraction {
|
||||
|
||||
const view = new CipherView();
|
||||
view.type = CipherType.Fido2Key;
|
||||
view.name = credential.origin;
|
||||
view.name = credential.rpName;
|
||||
|
||||
view.fido2Key = new Fido2KeyView();
|
||||
view.fido2Key.origin = credential.origin;
|
||||
|
||||
view.fido2Key.keyType = credential.keyType;
|
||||
view.fido2Key.keyCurve = credential.keyCurve;
|
||||
view.fido2Key.keyValue = Fido2Utils.bufferToString(pcks8Key);
|
||||
|
||||
Reference in New Issue
Block a user