public static FormUrlEncodedContent ToUrlEncoded(this PKCETokenRefreshRequest refreshRequest)
        {
            List <KeyValuePair <string, string> > headers = new List <KeyValuePair <string, string> >();

            headers.Add(new KeyValuePair <string, string>("grant_type", "refresh_token"));
            headers.Add(new KeyValuePair <string, string>("refresh_token", refreshRequest.RefreshToken));
            headers.Add(new KeyValuePair <string, string>("client_id", refreshRequest.ClientId));

            return(new FormUrlEncodedContent(headers));
        }
Exemplo n.º 2
0
 /// <summary>
 /// Refreshes Spotify authentication to continue having access to Spotify music controls
 /// </summary>
 /// <returns>Task for refreshing token</returns>
 private async Task RefreshAuthentication()
 {
     if (token == null)
     {
         await Task.Run(Init);
     }
     else if (token != null && token.IsExpired)
     {
         PKCETokenRefreshRequest refreshRequest  = new PKCETokenRefreshRequest("<INSERT_CLIENT_ID>", token.RefreshToken);
         PKCETokenResponse       refreshResponse = await new OAuthClient().RequestToken(refreshRequest);
         client = new SpotifyClient(refreshResponse.AccessToken);
     }
 }
Exemplo n.º 3
0
        private async Task <PKCETokenResponse> RefreshTokens()
        {
            try {
                _outputHandler.Output("Refreshing access-tokens, please wait a moment...");
                var request = new PKCETokenRefreshRequest(_config.ClientId, _config.Tokens.RefreshToken);
                var res     = await _oAuthClient.RequestToken(request);

                await _config.SaveTokens(res);

                return(_config.Tokens);
            } catch (Exception e) {
                _outputHandler.Output("Something went wrong while trying to refresh the authentication token: ");
                _outputHandler.Output(e.Message);

                return(await UseNewTokens());
            }
        }