Example #1
0
        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);
        }
Example #2
0
        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"
            });
        }
Example #3
0
        public async Task AddManagedTokenAsync(ManagedToken managedToken)
        {
            await _sessionTokenManager.AddManagedTokenAsync(ManagedTokenKey, managedToken);

            _httpContextAccessor.HttpContext.Session.SetInt32(ManagedTokenKey, 1); // hint that we are tracking
        }