Esempio n. 1
0
 public SkillSearchModelBuilder(ICustomHttpClient httpClient, IApiUriHelper uriHelper, ITokenResponse tokenResponse, string term)
 {
     _httpClient = httpClient;
     _tokenResponse = tokenResponse ?? throw new ArgumentNullException(nameof(tokenResponse));
     _uriHelper = uriHelper;
     _term = term;
 }
        public async Task SetAndSaveToken(string tokenResponse, CancellationToken cancellationToken)
        {
            var deserialized = JsonSerializer.Deserialize <GoogleDriveTokenResponse>(tokenResponse);

            if (!string.IsNullOrWhiteSpace(deserialized.RefreshToken))
            {
                // Refresh token reset
                Token = deserialized;
            }
            else
            {
                // Leave refresh token as is
                var refreshToken = Token?.RefreshToken;
                Token = new GoogleDriveTokenResponse()
                {
                    AccessToken  = deserialized.AccessToken,
                    ExpiresIn    = deserialized.ExpiresIn,
                    InitDate     = deserialized.InitDate,
                    Scope        = deserialized.Scope,
                    TokenType    = deserialized.TokenType,
                    RefreshToken = refreshToken
                };
            }

            using var fileStream = new FileStream(Constants.GoogleDriveFilePath, FileMode.Create, FileAccess.Write, FileShare.Read);
            await JsonSerializer.SerializeAsync(fileStream, Token as GoogleDriveTokenResponse, cancellationToken : cancellationToken);

            _logger.LogInformation("Token response saved to file");
        }
Esempio n. 3
0
 public static ClaimsIdentity BuildClaimsIdentity(ITokenResponse tokenInfo, string username = "")
 {
     return(new ClaimsIdentity(
                new[] { new Claim(ClaimTypes.Name, username),
                        new Claim("access_token", tokenInfo.AccessToken),
                        new Claim("id_token", tokenInfo.IdToken),
                        new Claim("refresh_token", tokenInfo.RefreshToken ?? string.Empty), },
                DefaultAuthenticationTypes.ApplicationCookie));
 }
Esempio n. 4
0
        private bool TryGetJwtSecurityToken(ITokenResponse tokenResponse, out JwtSecurityToken jwtSecurityToken)
        {
            jwtSecurityToken = null;
            if (tokenResponse == null)
            {
                return(false);
            }

            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();

            jwtSecurityToken = jwtSecurityTokenHandler.ReadJwtToken(tokenResponse.AccessToken);

            return(jwtSecurityToken != null);
        }
        private void ReadToken()
        {
            try
            {
                if (!File.Exists(Constants.GoogleDriveFilePath))
                {
                    return;
                }

                using var fileStream = new FileStream(Constants.GoogleDriveFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
                Token = JsonSerializer.Deserialize <GoogleDriveTokenResponse>(fileStream);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, string.Empty);
            }
        }
Esempio n. 6
0
        public Task <HttpResponseMessage> PostAsync(string url, ITokenResponse tokenResponse, object content)
        {
            if (string.IsNullOrWhiteSpace(url))
            {
                throw new ArgumentNullException(nameof(url));
            }
            if (tokenResponse == null)
            {
                throw new ArgumentNullException(nameof(tokenResponse));
            }

            DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokenResponse.AccessToken);
            DefaultRequestHeaders.Accept.Clear();
            DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            return(PostAsync(url, content));
        }
Esempio n. 7
0
        public static async Task <ClaimsIdentity> GetIdentityFromTokenResponseAsync(IdxConfiguration configuration, ITokenResponse tokenResponse)
        {
            var claims = await GetClaimsFromUserInfoAsync(configuration, tokenResponse.AccessToken);

            claims = claims.Append(new Claim("access_token", tokenResponse.AccessToken));
            claims = claims.Append(new Claim("id_token", tokenResponse.IdToken));
            if (!string.IsNullOrEmpty(tokenResponse.RefreshToken))
            {
                claims = claims.Append(new Claim("refresh_token", tokenResponse.RefreshToken));
            }
            ClaimsIdentity identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);

            return(identity);
        }
 public TwitterAuthResponse(int userId, string screenName, ITokenResponse response)
 {
     UserId     = userId;
     ScreenName = screenName;
     Response   = response;
 }
 public TwitterAuthResponse(int userId, string screenName, ITokenResponse response)
 {
     UserId = userId;
     ScreenName = screenName;
     Response = response;
 }