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