static async getAuthState()

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