public async Task <RequestTokenResponse> FidectusGetAuthenticationToken(RequestTokenRequest requestTokenRequest, IFidectusConfiguration fidectusConfiguration) { var requestTokenResponse = await redisService.Get <FidectusAuthenticationToken>(RedisConstants.FidectusAuthenticationTokenKey, requestTokenRequest.ClientId); if (!string.IsNullOrWhiteSpace(requestTokenResponse?.AccessToken)) { logger.LogInformation("Reusing cached Fidectus access token..."); return(new RequestTokenResponse { AccessToken = requestTokenResponse.AccessToken, IsSuccessStatusCode = true }); } logger.LogInformation("Getting new Fidectus access token..."); var httpClient = httpClientFactory.CreateClient(); httpClient.BaseAddress = new Uri(fidectusConfiguration.FidectusAuthUrl); var getAuthenticationToken = await PostAsync <RequestTokenRequest, RequestTokenResponse>(httpClient, fidectusConfiguration.FidectusAuthUrl, requestTokenRequest); var fidectusAuthenticationToken = new FidectusAuthenticationToken { AccessToken = getAuthenticationToken.AccessToken }; await redisService.Set(fidectusAuthenticationToken, 24, RedisConstants.FidectusAuthenticationTokenKey, requestTokenRequest.ClientId); logger.LogInformation("New Fidectus access token cached"); return(getAuthenticationToken); }
public async Task <RequestTokenResponse> EboGetAuthenticationToken(RequestTokenRequest requestTokenRequest, IEquiasConfiguration equiasConfiguration) { var httpClient = httpClientFactory.CreateClient(); httpClient.BaseAddress = new Uri(equiasConfiguration.ApiDomain); return(await PostAsync <RequestTokenRequest, RequestTokenResponse>(httpClient, equiasConfiguration.RequestTokenUri, requestTokenRequest)); }
public async Task <RequestTokenResponse> CreateAuthenticationTokenAsync(RequestTokenRequest requestTokenRequest, string apiJwtToken) { return(await equiasAuthenticationService.EboGetAuthenticationToken(requestTokenRequest, new EquiasConfiguration(await GetEquiasDomainAsync(apiJwtToken)))); }