mirror of
https://github.com/bitwarden/jslib
synced 2026-01-14 06:23:16 +00:00
60 lines
2.2 KiB
TypeScript
60 lines
2.2 KiB
TypeScript
import { Utils } from '../../misc/utils';
|
|
import { BaseResponse } from './baseResponse';
|
|
|
|
export class TwoFactorWebAuthnResponse extends BaseResponse {
|
|
enabled: boolean;
|
|
keys: KeyResponse[];
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.enabled = this.getResponseProperty('Enabled');
|
|
const keys = this.getResponseProperty('Keys');
|
|
this.keys = keys == null ? null : keys.map((k: any) => new KeyResponse(k));
|
|
}
|
|
}
|
|
|
|
export class KeyResponse extends BaseResponse {
|
|
name: string;
|
|
id: number;
|
|
migrated: boolean;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.name = this.getResponseProperty('Name');
|
|
this.id = this.getResponseProperty('Id');
|
|
this.migrated = this.getResponseProperty('Migrated');
|
|
}
|
|
}
|
|
|
|
export class ChallengeResponse extends BaseResponse implements PublicKeyCredentialCreationOptions {
|
|
attestation?: AttestationConveyancePreference;
|
|
authenticatorSelection?: AuthenticatorSelectionCriteria;
|
|
challenge: BufferSource;
|
|
excludeCredentials?: PublicKeyCredentialDescriptor[];
|
|
extensions?: AuthenticationExtensionsClientInputs;
|
|
pubKeyCredParams: PublicKeyCredentialParameters[];
|
|
rp: PublicKeyCredentialRpEntity;
|
|
timeout?: number;
|
|
user: PublicKeyCredentialUserEntity;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.attestation = this.getResponseProperty('attestation');
|
|
this.authenticatorSelection = this.getResponseProperty('authenticatorSelection');
|
|
this.challenge = Utils.fromUrlB64ToArray(this.getResponseProperty('challenge'));
|
|
this.excludeCredentials = this.getResponseProperty('excludeCredentials').map((c: any) => {
|
|
c.id = Utils.fromUrlB64ToArray(c.id).buffer;
|
|
return c;
|
|
});
|
|
this.extensions = this.getResponseProperty('extensions');
|
|
this.pubKeyCredParams = this.getResponseProperty('pubKeyCredParams');
|
|
this.rp = this.getResponseProperty('rp');
|
|
this.timeout = this.getResponseProperty('timeout');
|
|
|
|
const user = this.getResponseProperty('user');
|
|
user.id = Utils.fromUrlB64ToArray(user.id);
|
|
|
|
this.user = user;
|
|
}
|
|
}
|