足力健后端,使用.netcore版本,合并1个项目使用

JwtToken.cs 886B

12345678910111213141516171819202122232425
  1. using System;
  2. using System.IdentityModel.Tokens.Jwt;
  3. using System.Security.Claims;
  4. namespace SignToken
  5. {
  6. public class JwtToken
  7. {
  8. public static dynamic BuildJwtToken(Claim[] claims, PermissionRequirement permissionRequirement)
  9. {
  10. var now = DateTime.Now;
  11. var jwt = new JwtSecurityToken(
  12. issuer: permissionRequirement.Issuer,//签发者
  13. audience: permissionRequirement.Audience,//订阅者,使用人
  14. claims: claims,
  15. notBefore: now,//在此时间之前不能被接收处理
  16. expires: now.Add(permissionRequirement.Expiration),//超期时间
  17. signingCredentials: permissionRequirement.SigningCredentials
  18. );
  19. var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt);
  20. return encodedJwt;
  21. }
  22. }
  23. }