public getTokensSync()

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,
		};
	}