var claims = new Claim[] { new Claim(ClaimTypes.Name,authInfo.un), //new Claim(ClaimTypes.Role, "ma"),//多个权限重复添加 //new Claim(ClaimTypes.Role, "mamama"), //new Claim("EmployeeNumber", "true"),//添加用户访问权限 new Claim("emp",JsonConvert.SerializeObject(authInfo)), new Claim(JwtRegisteredClaimNames.Sub, "Client"), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.Iat, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Nbf, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}") , //这个就是过期时间,目前是8小时,可自定义,注意JWT有自己的缓冲过期时间 new Claim(JwtRegisteredClaimNames.Exp, $"{new DateTimeOffset(DateTime.Now.AddHours(1)).ToUnixTimeSeconds()}"), }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(setting.SecretKey)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( setting.Issuer, setting.Audience, claims, signingCredentials: creds); string token=new JwtSecurityTokenHandler().WriteToken(token);