in libs/@guardian/identity-auth/src/tokenManager.ts [133:166]
public getTokensSync(): Tokens<AC, IC> | undefined {
const accessTokenFromStorage = this.#storage.get(
this.#accessTokenKey,
) as AccessTokenStorage | null;
const idTokenFromStorage = this.#storage.get(
this.#idTokenKey,
) as IDTokenStorage | null;
if (
!accessTokenFromStorage?.accessToken ||
!idTokenFromStorage?.idToken ||
!idTokenFromStorage.nonce
) {
return undefined;
}
const { accessToken, idToken } = this.#token.decodeTokens({
accessTokenRaw: accessTokenFromStorage.accessToken,
accessTokenClockSkew: accessTokenFromStorage.clockSkew,
idTokenRaw: idTokenFromStorage.idToken,
idTokenClockSkew: idTokenFromStorage.clockSkew,
nonce: idTokenFromStorage.nonce,
});
if (!isAccessToken(accessToken) || !isIDToken(idToken)) {
return undefined;
}
return {
accessToken,
idToken,
};
}