Exemple #1
0
        public void CuandoUserTieneClaimsPeroConClaimResourceAccessVacioResultadoEsSuccess()
        {
            //
            var role           = "admin";
            var audience       = "TestBackend";
            var hasRole        = new HasRoleHandler(audience);
            var resourceAccess = new { TestBackend = new { roles = new string[] { role } } };

            var identity = new ClaimsIdentity();

            identity.AddClaim(new Claim(ClaimTypes.Name, "Michael Emir"));
            identity.AddClaim(new Claim(ClaimTypes.Country, "El Salvador"));
            identity.AddClaim(new Claim("resource_access", JsonConvert.SerializeObject(resourceAccess)));

            var userClaims      = new ClaimsPrincipal(identity); //Usuario
            var roleRequirement = new HasRoleRequirement(role);
            var requirements    = new IAuthorizationRequirement[] { roleRequirement };
            var context         = new AuthorizationHandlerContext(requirements, userClaims, null);

            //Act
            hasRole.ValidateRoleRequirement(context, roleRequirement);

            //Assert
            Assert.IsTrue(context.HasSucceeded);
            Assert.IsFalse(context.HasFailed);
        }
Exemple #2
0
        public void CuandoUserNoTieneClaimsResultadoEsFail()
        {
            //
            var role            = "admin";
            var audience        = "TestBackend";
            var hasRole         = new HasRoleHandler(audience);
            var userClaims      = new ClaimsPrincipal(); //Usuario sin Claims
            var roleRequirement = new HasRoleRequirement(role);
            var requirements    = new IAuthorizationRequirement[] { roleRequirement };
            var context         = new AuthorizationHandlerContext(requirements, userClaims, null);

            //Act
            hasRole.ValidateRoleRequirement(context, roleRequirement);

            //Assert
            Assert.IsFalse(context.HasSucceeded);
            Assert.IsTrue(context.HasFailed);
        }