private async Task <string> RefreshToken(AllegroTokens allegroTokens)
        {
            var refreshToken = allegroTokens.RefreshToken;

            string basicAuth = Base64Encode($"{allegroTokens.ClientId}:{allegroTokens.ClientSecret}");

            //RestClient restClient = new RestClient($"https://allegro.pl.allegrosandbox.pl/auth/oauth/token?grant_type=refresh_token&refresh_token={refreshToken}");
            RestClient restClient = new RestClient($"https://allegro.pl/auth/oauth/token?grant_type=refresh_token&refresh_token={refreshToken}");

            restClient.AddDefaultHeader("Authorization", $"Basic {basicAuth}");

            RestRequest restRequest = new RestRequest();
            var         respons     = restClient.GetAsync <AuthJsonOutputDto>(restRequest).Result;

            if (respons.access_token != null)
            {
                allegroTokens.Token        = respons.access_token;
                allegroTokens.RefreshToken = respons.refresh_token;
                allegroTokens.ExpiresAt    = DateTime.Now.AddHours(9);

                await _mailRequestRepository.UpdateTokenInformation(allegroTokens);

                return(respons.access_token);
            }

            return(allegroTokens.Token);
        }
Esempio n. 2
0
 public async Task UpdateTokenInformation(AllegroTokens allegroTokens)
 {
     try
     {
         _mailDatabaseContext.AllegroTokens.Update(allegroTokens);
         await _mailDatabaseContext.SaveChangesAsync();
     }
     catch
     {
     }
     finally
     {
         _mailDatabaseContext.Entry(allegroTokens).State = EntityState.Detached;
     }
 }