public async Task <Response <Token> > Handle(Token token) { MixerRefreshToken mixerRefreshToken = new MixerRefreshToken { Grant_Type = "refresh_token", Client_Id = token.ProviderClientId, Client_Secret = token.ProviderClientSecret, Refresh_Token = token.RefreshToken }; JsonSerializerOptions jsonOptions = new JsonSerializerOptions { PropertyNamingPolicy = new LowerCaseNamingPolicy(), WriteIndented = true }; var httpResponse = await _httpClient.PostAsJsonAsync(Options.TokenEndpoint, mixerRefreshToken, jsonOptions); httpResponse.EnsureSuccessStatusCode(); var mixerToken = await httpResponse.Content.ReadFromJsonAsync <MixerToken>(); token.Expires = DateTime.Now.AddSeconds(mixerToken.Expires_In); token.Value = mixerToken.Access_Token; token.RefreshToken = mixerToken.Refresh_Token; token.TokenType = mixerToken.Token_Type; return(await _tokenBusiness.Update(token)); }