14. JWTEncryption 静态类
📝 模块更新日志
-
问题修复
-
JWTEncryption.GetJWTSettings()
独立使用时无法获取自定义配置 4.9.1.4 ⏱️2023.11.18 c045e08
-
14.1 生成 Token
// 读取配置信息生成 Token
var token = JWTEncryption.Encrypt(new Dictionary<string, object> { { "UserId", 1 } });
// 配置 Token 过期时间
var token = JWTEncryption.Encrypt(new Dictionary<string, object> { { "UserId", 1 } }, 20);
// 配置 Token 密钥
var token = JWTEncryption.Encrypt("monksoul@outlook.com", new Dictionary<string, object> { { "UserId", 1 } });
// 配置算法
var token = JWTEncryption.Encrypt("monksoul@outlook.com", new Dictionary<string, object> { { "UserId", 1 } }, SecurityAlgorithms.HmacSha256);
14.2 生成刷新 Token
var refreshToken = JWTEncryption.GenerateRefreshToken("token", 43200);
14.3 根据过期 Token
交换新 Token
var newToken = JWTEncryption.Exchange("过期 token", "与之匹配的刷新 token", [新的token过期时间], [容错值]);
14.4 授权处理程序自动刷新 Token
JWTEncryption.AutoRefreshToken(context, httpContext);
14.5 验证 Token
有效性
var (isValid, tokenData, validationResult) = JWTEncryption.Validate("token");