async Task <HttpClient> CreateHttpClientAsync() { string baseUrl = "https://jsonplaceholder.typicode.com/"; var client = new HttpClient { BaseAddress = new Uri(baseUrl) }; var contentType = new MediaTypeWithQualityHeaderValue("application/json"); client.DefaultRequestHeaders.Accept.Add(contentType); var managedToken = await _tokenManager.GetManagedTokenAsync("test", true); if (managedToken == null) { await _tokenManager.AddManagedTokenAsync("test", new ManagedToken { CredentialsKey = "test", RequestFunctionKey = "client_credentials", RequestedScope = null // everything }); managedToken = await _tokenManager.GetManagedTokenAsync("test", true); } client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", managedToken.AccessToken); return(client); }
public async Task OnGetAsync() { var tokenResponse = await _fakeTokenFetchService.GetTokenExchangeAsync(GuidS); TokenReponse = tokenResponse.GetType() .GetProperties(BindingFlags.Instance | BindingFlags.Public) .ToDictionary(prop => prop.Name, prop => prop.GetValue(tokenResponse, null).ToString()); await _sessionTokenManager.AddManagedTokenAsync("fake", new ManagedToken { AccessToken = tokenResponse.AccessToken, RefreshToken = tokenResponse.RefreshToken, ExpiresIn = tokenResponse.ExpiresIn, CredentialsKey = "fake" }); // This only gets put in so it can be checked for revocation in a middleware. await _sessionOAuth2Introspection.AddManagedTokenAsync(new ManagedToken { AccessToken = tokenResponse.AccessToken, RefreshToken = tokenResponse.RefreshToken, ExpiresIn = tokenResponse.ExpiresIn, CredentialsKey = "fake" }); }
public async Task AddManagedTokenAsync(ManagedToken managedToken) { await _sessionTokenManager.AddManagedTokenAsync(ManagedTokenKey, managedToken); _httpContextAccessor.HttpContext.Session.SetInt32(ManagedTokenKey, 1); // hint that we are tracking }