Example #1
0
        private bool IsUserAuthorized(HttpActionContext actionContext)
        {
            try
            {
                string token = FetchFromHeader(actionContext); // fetch authorization token from header


                if (token != null && !String.IsNullOrWhiteSpace(token))
                {
                    AuthenticationModule auth             = new AuthenticationModule();
                    JwtSecurityToken     userPayloadToken = auth.ValidateToken(token);

                    if (userPayloadToken != null)
                    {
                        JWTAuthenticationIdentity identity = AuthenticationModule.PopulateUserIdentity(userPayloadToken);

                        if (this.role == null || identity.Roles.Contains(this.role))
                        {
                            actionContext.ControllerContext.RequestContext.Principal = identity.GetPrincipal();
                            return(true);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogManager.GetLogger().Error(ex);
            }

            return(false);
        }
        public bool IsUserAuthorized(HttpActionContext actionContext)
        {
            var authHeader = FetchFromHeader(actionContext); //fetch authorization token from header

            if (authHeader != null)
            {
                var auth = new AuthenticationModule();
                JwtSecurityToken userPayloadToken = auth.GenerateUserClaimFromJWT(authHeader);

                if (userPayloadToken != null)
                {
                    var      identity         = auth.PopulateUserIdentity(userPayloadToken);
                    string[] roles            = { "All" };
                    var      genericPrincipal = new GenericPrincipal(identity, roles);
                    Thread.CurrentPrincipal = genericPrincipal;
                    var authenticationIdentity = Thread.CurrentPrincipal.Identity as JWTAuthenticationIdentity;
                    if (authenticationIdentity != null && !String.IsNullOrEmpty(authenticationIdentity.UserName))
                    {
                        authenticationIdentity.UserId   = identity.UserId;
                        authenticationIdentity.UserName = identity.UserName;
                    }
                    return(true);
                }
            }
            return(false);
        }
Example #3
0
        public void TokenValidation()
        {
            AuthenticationModule authentication = new AuthenticationModule();
            string           token         = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbi50ZXN0Iiwibm9tIjoiQWRtaW5pc3RyYXRldXIiLCJwcmVub20iOiJBZG1pbmlzdHJhdGV1ciIsIm1haWwiOiJhZG1pbi5yZXNlYXVAbW9udHBlbGxpZXItZXBzaS5mciIsImNsYXNzZSI6IkFkbWluaXN0cmF0aW9uIiwicm9sZXMiOiJST0xFX1NVUEVSX0FETUlOIiwiaWF0IjoxNTQ0Nzc3NzgzLCJleHAiOjE1NDQ3ODQ5ODN9.ebNHIHnaOtiCTPJmP2a0V7vhkrCZB0S5-wpN2fkzOKk";
            JwtSecurityToken securityToken = authentication.ValidateToken(token);

            Assert.IsNotNull(securityToken);

            JWTAuthenticationIdentity identity = AuthenticationModule.PopulateUserIdentity(securityToken);

            Assert.IsTrue(identity.Name.Equals("admin.test"));
            Assert.IsTrue(identity.Nom.Equals("Administrateur"));
            Assert.IsTrue(identity.Mail.Equals("*****@*****.**"));


            Assert.IsTrue(1 == 1);
        }