internal async Task <TokenResponse> RefreshUserAccessTokenAsync() { var userToken = await _userTokenStore.GetTokenAsync(_httpContextAccessor.HttpContext.User); var response = await _tokenEndpointService.RefreshUserAccessTokenAsync(userToken.RefreshToken); if (!response.IsError) { await _userTokenStore.StoreTokenAsync(_httpContextAccessor.HttpContext.User, response.AccessToken, response.ExpiresIn, response.RefreshToken); } else { _logger.LogError("Error refreshing access token. Error = {error}", response.Error); } return(response); }
internal async Task <TokenResponse> RefreshUserAccessTokenAsync(ClaimsPrincipal user) { var userToken = await _userTokenStore.GetTokenAsync(user); var response = await _tokenEndpointService.RefreshUserAccessTokenAsync(userToken.RefreshToken); if (!response.IsError) { var expiration = DateTime.UtcNow + TimeSpan.FromSeconds(response.ExpiresIn); await _userTokenStore.StoreTokenAsync(user, response.AccessToken, expiration, response.RefreshToken); } else { _logger.LogError("Error refreshing access token. Error = {error}", response.Error); } return(response); }