public void PostConfigure_AddIdentityResourcesScopesToClients() { // Arrange var configureClientScopes = new ConfigureClientScopes(new TestLogger <ConfigureClientScopes>()); var options = new ApiAuthorizationOptions(); options.Clients.AddRange( ClientBuilder .IdentityServerSPA("TestSPA") .FromConfiguration() .Build(), ClientBuilder .NativeApp("NativeApp") .FromConfiguration() .Build()); options.ApiResources.AddRange( ApiResourceBuilder.ApiResource("ResourceAPI") .FromConfiguration() .AllowAllClients() .Build()); // Act configureClientScopes.PostConfigure(Options.DefaultName, options); // Assert var spaClient = Assert.Single(options.Clients, c => c.ClientId == "TestSPA"); Assert.Equal(new[] { "openid", "profile", "ResourceAPI" }.OrderBy(id => id).ToArray(), spaClient.AllowedScopes.OrderBy(id => id).ToArray()); var nativeApp = Assert.Single(options.Clients, c => c.ClientId == "NativeApp"); Assert.Equal(new[] { "offline_access", "openid", "profile", "ResourceAPI" }.OrderBy(id => id).ToArray(), nativeApp.AllowedScopes.OrderBy(id => id).ToArray()); }
public void PostConfigure_AddResourcesScopesToClients() { // Arrange var configureClientScopes = new ConfigureClientScopes(new TestLogger <ConfigureClientScopes>()); var options = new ApiAuthorizationOptions(); options.Clients.AddRange( ClientBuilder .IdentityServerSPA("TestSPA") .FromConfiguration() .Build(), ClientBuilder .NativeApp("NativeApp") .FromConfiguration() .Build()); options.ApiResources.AddRange( ApiResourceBuilder.ApiResource("ResourceApi") .FromConfiguration() .AllowAllClients() .Build()); // Act configureClientScopes.PostConfigure(Options.DefaultName, options); // Assert foreach (var client in options.Clients) { Assert.Contains("ResourceApi", client.AllowedScopes); } }