コード例 #1
0
        public void Configure_AddsResourcesToExistingResourceList()
        {
            // Arrange
            var configuration = new ConfigurationBuilder().AddInMemoryCollection(new Dictionary <string, string>
            {
                ["MyAPI:Profile"] = "API"
            }).Build();
            var localApiDescriptor  = new TestLocalApiDescriptor();
            var configurationLoader = new ConfigureApiResources(
                configuration,
                localApiDescriptor,
                new TestLogger <ConfigureApiResources>());

            var options = new ApiAuthorizationOptions();

            // Act
            configurationLoader.Configure(options);

            // Assert
            var resource = Assert.Single(options.ApiResources);
            var scope    = Assert.Single(resource.Scopes);

            Assert.Equal("MyAPI", resource.Name);
            Assert.Equal("MyAPI", scope.Name);
        }
コード例 #2
0
        public void GetApiResources_ReadsApiScopesFromConfiguration()
        {
            // Arrange
            var expectedScopes = new[] { "First", "Second", "Third" };
            var configuration  = new ConfigurationBuilder().AddInMemoryCollection(new Dictionary <string, string>
            {
                ["MyAPI:Profile"] = "API",
                ["MyAPI:Scopes"]  = "First Second Third"
            }).Build();
            var localApiDescriptor  = new TestLocalApiDescriptor();
            var configurationLoader = new ConfigureApiResources(
                configuration,
                localApiDescriptor,
                new TestLogger <ConfigureApiResources>());
            // Act
            var resources = configurationLoader.GetApiResources();

            // Assert
            var resource = Assert.Single(resources);

            Assert.Equal("MyAPI", resource.Name);
            Assert.NotNull(resource.Scopes);
            Assert.Equal(3, resource.Scopes.Count);
            Assert.Equal(expectedScopes, resource.Scopes.Select(s => s.Name).ToArray());
        }
コード例 #3
0
        public void GetApiResources_DetectsLocallyRegisteredApis()
        {
            // Arrange
            var configuration      = new ConfigurationBuilder().Build();
            var localApiDescriptor = new TestLocalApiDescriptor(new Dictionary <string, ResourceDefinition>
            {
                ["MyAPI"] = new ResourceDefinition {
                    Profile = ApplicationProfiles.IdentityServerJwt
                }
            });
            var configurationLoader = new ConfigureApiResources(
                configuration,
                localApiDescriptor,
                new TestLogger <ConfigureApiResources>());

            // Act
            var resources = configurationLoader.GetApiResources();

            // Assert
            var resource = Assert.Single(resources);
            var scope    = Assert.Single(resource.Scopes);

            Assert.Equal("MyAPI", resource.Name);
            Assert.Equal("MyAPI", scope.Name);
        }
コード例 #4
0
        public void GetApiResources_ReadsApisFromConfiguration()
        {
            // Arrange
            var configuration = new ConfigurationBuilder().AddInMemoryCollection(new Dictionary <string, string>
            {
                ["MyAPI:Profile"] = "API"
            }).Build();
            var localApiDescriptor  = new TestLocalApiDescriptor();
            var configurationLoader = new ConfigureApiResources(
                configuration,
                localApiDescriptor,
                new TestLogger <ConfigureApiResources>());

            // Act
            var resources = configurationLoader.GetApiResources();

            // Assert
            var resource = Assert.Single(resources);
            var scope    = Assert.Single(resource.Scopes);

            Assert.Equal("MyAPI", resource.Name);
            Assert.Equal("MyAPI", scope.Name);
        }