示例#1
0
        private bool IsAuthorized(string tokenstring)
        {
            // return true;
            try
            {
                JwtSecurityTokenHandler tokenhandler = new JwtSecurityTokenHandler();
                if (tokenhandler.CanReadToken(tokenstring))
                {
                    JwtSecurityToken token   = tokenhandler.ReadJwtToken(tokenstring);
                    JwtPayload       payload = token.Payload;
                    if (payload.Count() > 0 && payload["Username"] != null)
                    {
                        string Username = payload["Username"].ToString();

                        //string role = payload["Role"].ToString();
                        //if (Roles != null)
                        //{
                        //    if (!Roles.Contains(role))
                        //    {
                        //        return false;
                        //    }
                        //}

                        var data = _userServices.GetuserByCustomuserName(Username).data;
                        if (data != null)
                        {
                            //Setting Userid in Session
                            //this.httpContextAccessor.HttpContext.Session.SetString("UserId", data.Id.ToString());


                            var securityKey          = new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(System.Text.Encoding.UTF32.GetBytes(Username));
                            var validationParameters = new TokenValidationParameters
                            {
                                ValidateIssuerSigningKey = true,
                                IssuerSigningKey         = securityKey,
                                ValidateAudience         = false,
                                ValidateIssuer           = false,
                                ValidateActor            = false,
                                ValidateLifetime         = true,
                                ValidateTokenReplay      = false,
                                LifetimeValidator        = LifetimeValidator
                            };
                            SecurityToken validatedToken;
                            try
                            {
                                tokenhandler.ValidateToken(tokenstring, validationParameters, out validatedToken);
                            }
                            catch (Exception ex)
                            {
                                return(false);
                            }
                            return(validatedToken != null);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                return(false);
            }
        }