in libs/@guardian/identity-auth/src/tokenManager.ts [176:202]
public async getTokens({
refreshIfRequired = false,
verifyTokens = true,
} = {}): Promise<Tokens<AC, IC> | undefined> {
try {
const tokens = this.getTokensSync();
if (tokens) {
if (verifyTokens) {
await this.#token.verifyTokens(tokens.idToken, tokens.accessToken);
return tokens;
}
return tokens;
}
if (refreshIfRequired) {
const tokenResponse = await this.#token.getWithoutPrompt();
this.setTokens(tokenResponse.tokens);
return tokenResponse.tokens;
}
return undefined;
} catch (error) {
this.clear();
throw error;
}
}