in vscode/qodana/src/core/auth/index.ts [115:132]
static async getAuthState(context: vscode.ExtensionContext): Promise<AuthState> {
const token = await context.secrets.get(SEC_TOKEN);
const refreshToken = await context.secrets.get(SEC_REFRESH_TOKEN);
const refreshTokenUsed = await context.secrets.get(SEC_REFRESH_TOKEN_USED);
const expires = await context.secrets.get(SEC_EXPIRES);
if (!token || !refreshToken || !expires) {
return new Unauthorized;
}
let now = new Date();
let expiresDate = new Date(expires);
if (now > expiresDate) {
if (refreshTokenUsed === 'true') {
return new Unauthorized;
}
return new TokenExpired(token, refreshToken, expires);
}
return new TokenPresent(token, refreshToken, expires);
}