mirror of
https://github.com/bitwarden/browser
synced 2025-12-23 11:43:46 +00:00
Revert "Revert "Auth/PM-6689 - Migrate Security Stamp to Token Service and St…" (#8889)
This reverts commit 100b43dd8f.
This commit is contained in:
@@ -32,6 +32,7 @@ import {
|
||||
EMAIL_TWO_FACTOR_TOKEN_RECORD_DISK_LOCAL,
|
||||
REFRESH_TOKEN_DISK,
|
||||
REFRESH_TOKEN_MEMORY,
|
||||
SECURITY_STAMP_MEMORY,
|
||||
} from "./token.state";
|
||||
|
||||
export enum TokenStorageLocation {
|
||||
@@ -850,6 +851,30 @@ export class TokenService implements TokenServiceAbstraction {
|
||||
return Array.isArray(decoded.amr) && decoded.amr.includes("external");
|
||||
}
|
||||
|
||||
async getSecurityStamp(userId?: UserId): Promise<string | null> {
|
||||
userId ??= await firstValueFrom(this.activeUserIdGlobalState.state$);
|
||||
|
||||
if (!userId) {
|
||||
throw new Error("User id not found. Cannot get security stamp.");
|
||||
}
|
||||
|
||||
const securityStamp = await this.getStateValueByUserIdAndKeyDef(userId, SECURITY_STAMP_MEMORY);
|
||||
|
||||
return securityStamp;
|
||||
}
|
||||
|
||||
async setSecurityStamp(securityStamp: string, userId?: UserId): Promise<void> {
|
||||
userId ??= await firstValueFrom(this.activeUserIdGlobalState.state$);
|
||||
|
||||
if (!userId) {
|
||||
throw new Error("User id not found. Cannot set security stamp.");
|
||||
}
|
||||
|
||||
await this.singleUserStateProvider
|
||||
.get(userId, SECURITY_STAMP_MEMORY)
|
||||
.update((_) => securityStamp);
|
||||
}
|
||||
|
||||
private async getStateValueByUserIdAndKeyDef(
|
||||
userId: UserId,
|
||||
storageLocation: UserKeyDefinition<string>,
|
||||
|
||||
Reference in New Issue
Block a user