mirror of
https://github.com/bitwarden/browser.git
synced 2025-12-05 09:14:28 +01:00
38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import { TokenRequest, TokenRequestTwoFactor } from "./tokenRequest";
|
|
|
|
import { CaptchaProtectedRequest } from "../captchaProtectedRequest";
|
|
import { DeviceRequest } from "../deviceRequest";
|
|
|
|
import { ClientType } from "../../../enums/clientType";
|
|
import { Utils } from "../../../misc/utils";
|
|
|
|
export class PasswordTokenRequest extends TokenRequest implements CaptchaProtectedRequest {
|
|
constructor(
|
|
public email: string,
|
|
public masterPasswordHash: string,
|
|
public captchaResponse: string,
|
|
protected twoFactor: TokenRequestTwoFactor,
|
|
device?: DeviceRequest
|
|
) {
|
|
super(twoFactor, device);
|
|
}
|
|
|
|
toIdentityToken(clientId: ClientType) {
|
|
const obj = super.toIdentityToken(clientId);
|
|
|
|
obj.grant_type = "password";
|
|
obj.username = this.email;
|
|
obj.password = this.masterPasswordHash;
|
|
|
|
if (this.captchaResponse != null) {
|
|
obj.captchaResponse = this.captchaResponse;
|
|
}
|
|
|
|
return obj;
|
|
}
|
|
|
|
alterIdentityTokenHeaders(headers: Headers) {
|
|
headers.set("Auth-Email", Utils.fromUtf8ToUrlB64(this.email));
|
|
}
|
|
}
|