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); }
public async Task UpdateTokenInformation(AllegroTokens allegroTokens) { try { _mailDatabaseContext.AllegroTokens.Update(allegroTokens); await _mailDatabaseContext.SaveChangesAsync(); } catch { } finally { _mailDatabaseContext.Entry(allegroTokens).State = EntityState.Detached; } }