using System.Text;
using Microsoft.IdentityModel.Tokens;
namespace TrackCenter.Api;
public class JWTEncryption
{
/// 生成Token验证参数
///
///
public static TokenValidationParameters CreateTokenValidationParameters(
JWTSettingsOptions jwtSettings)
{
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtSettings.SecretKey));
return new TokenValidationParameters()
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = jwtSettings.Issuer,
ValidAudience = jwtSettings.Audience,
IssuerSigningKey = key,
ClockSkew = TimeSpan.FromSeconds(jwtSettings.ClockSkewMinutes),
// 验证过期时间
RequireExpirationTime = true
};
}
}