如何使用 JsonWebTokenHandler web api 创建 JWT 身份验证令牌?

时间:2021-05-26 13:29:27

标签: c# asp.net-mvc webapi

以下代码使用 JwtSecurityTokenHandler。相反,我想使用 JSONWebTokenHandler 来访问令牌并在我的 web api 中使用 iit

[HttpGet]
        public Object GetToken()
        {
            string key = "my_secret_key_12345"; //Secret key which will be used later during validation    
            var issuer = "SiteURL";  //normally this will be your site URL    

            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(key));
            var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);

            //Create a List of Claims, Keep claims name short    
            var permClaims = new List<Claim>();
            permClaims.Add(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()));
            permClaims.Add(new Claim("TenantId", "8B6AAF27-CAB0-4D45-A22A-293A40C7983A"));
            permClaims.Add(new Claim("Env", "IDB"));
            permClaims.Add(new Claim("UserId", "77777777-7777-7777-7777-777777777777"));
            permClaims.Add(new Claim("SessionId", "530c9d45-f371-4950-9fad-de0c6f409abf"));
            permClaims.Add(new Claim("EmployeeID", "0"));
           

            //Create Security Token object by giving required parameters    
            var token = new JwtSecurityToken(issuer, //Issure    
                            issuer,  //Audience    
                            permClaims,
                            expires: DateTime.Now.AddDays(1),
                            signingCredentials: credentials);
            var jwt_token = new JwtSecurityTokenHandler().WriteToken(token);
            return new { data = jwt_token };
        }

0 个答案:

没有答案