コード例 #1
0
        public async Task CreateAccessTokenAsync_should_include_aud_for_each_ApiResource()
        {
            var request = new TokenCreationRequest {
                ValidatedResources = new ResourceValidationResult()
                {
                    Resources = new Resources()
                    {
                        ApiResources =
                        {
                            new ApiResource("api1")
                            {
                                Scopes ={ "scope1"              }
                            },
                            new ApiResource("api2")
                            {
                                Scopes ={ "scope2"              }
                            },
                            new ApiResource("api3")
                            {
                                Scopes ={ "scope3"              }
                            },
                        },
                    },
                    ParsedScopes =
                    {
                        new ParsedScopeValue("scope1"),
                        new ParsedScopeValue("scope2"),
                        new ParsedScopeValue("scope3"),
                    }
                },
                ValidatedRequest = new ValidatedRequest()
                {
                    Client = new Client {
                    }
                }
            };

            var result = await _subject.CreateAccessTokenAsync(request);

            result.Audiences.Count.Should().Be(3);
            result.Audiences.Should().BeEquivalentTo(new[] { "api1", "api2", "api3" });
        }
コード例 #2
0
        public async Task <Token> CreateAccessTokenAsync(TokenCreationRequest request)
        {
            var token = await _delegate.CreateAccessTokenAsync(request);

            foreach (var tokenServiceHookPlugin in _tokenServiceHookPlugins)
            {
                var tokenResult = await tokenServiceHookPlugin.OnPostCreateAccessTokenAsync(request, token);

                if (tokenResult.processed)
                {
                    token = tokenResult.token;
                }
            }
            return(token);
        }
コード例 #3
0
        public async Task <Token> CreateAccessTokenAsync(TokenCreationRequest request)
        {
            var token = await _delegate.CreateAccessTokenAsync(request);

            foreach (var tokenServiceHookPlugin in _tokenServiceHookPlugins)
            {
                bool  proccessed;
                Token newToken;
                (proccessed, newToken) = await tokenServiceHookPlugin.OnPostCreateAccessTokenAsync(request, token);

                if (proccessed)
                {
                    token = newToken;
                }
            }
            return(token);
        }