Пример #1
0
        public void HandleRequirementsAsync_UnderThreshold_Succeeds()
        {
            var clientManagementStore            = GetClientManagementStore(new List <Client>());
            var registrationAuthorizationHandler = GetRegistrationAuthorizationHandler(clientManagementStore);
            var requirement = new RegisteredClientThresholdRequirement(1);
            var context     = new AuthorizationHandlerContext(new[] { requirement },
                                                              new TestPrincipal(), null);
            var result = registrationAuthorizationHandler.HandleAsync(context);

            if (!result.IsCompleted)
            {
                result.RunSynchronously();
            }
            Assert.True(context.HasSucceeded);
        }
Пример #2
0
        public void HandleRequirementAsync_ExceedsThreshold_Fails()
        {
            var clientManagementStore = GetClientManagementStore(new List <Client>
            {
                new Client
                {
                    ClientId = "test-client"
                }
            });
            var registrationAuthorizationHandler = GetRegistrationAuthorizationHandler(clientManagementStore);
            var requirement = new RegisteredClientThresholdRequirement(1);
            var context     = new AuthorizationHandlerContext(new[] { requirement },
                                                              new TestPrincipal(), null);
            var result = registrationAuthorizationHandler.HandleAsync(context);

            if (!result.IsCompleted)
            {
                result.RunSynchronously();
            }
            Assert.False(context.HasSucceeded);
        }
Пример #3
0
        public void HandleRequirementsAsync_ExceedsThresholdButHasScopeClaim_Succeeds()
        {
            var clientManagementStore = GetClientManagementStore(new List <Client>
            {
                new Client
                {
                    ClientId = "test-client"
                }
            });
            var registrationAuthorizationHandler = GetRegistrationAuthorizationHandler(clientManagementStore);
            var requirement = new RegisteredClientThresholdRequirement(1);
            var scopeClaim  = new Claim(ClaimTypes.Role, _appConfiguration.RegistrationAdminGroup, "claim",
                                        _appConfiguration.IssuerUri);
            var context = new AuthorizationHandlerContext(new[] { requirement },
                                                          new TestPrincipal(scopeClaim), null);
            var result = registrationAuthorizationHandler.HandleAsync(context);

            if (!result.IsCompleted)
            {
                result.RunSynchronously();
            }
            Assert.True(context.HasSucceeded);
        }