9. JWT 配置
配置智能提示和校验
如需编写配置的时候提供智能提示和校验,可查看 【2.15 JSON Schema 使用】
只需要在 .json 文件头部添加下列配置即可:
{
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json"
}
9.1 关于配置
JWT 配置指的是生成 JWT token 配置。
9.2 配置信息
JWTSettings:根节点ValidateIssuerSigningKey:是否验证密钥,bool类型,默认trueIssuerSigningKey:密钥(公钥),string类型,必须是复杂密钥,长度大于16,.NET8+ 长度需大于 32IssuerSigningPrivateKey:私钥,string类型,仅使用RS*/PS*/ES*加密算法时才需要配置,其他加密配置为null,string类型,Furion 4.9.8.24+支持ValidateIssuer:是否验证签发方,bool类型,默认trueValidIssuer:签发方,string类型ValidateAudience:是否验证签收方,bool类型,默认trueValidAudience:签收方,string类型ValidateLifetim:是否验证过期时间,bool类型,默认true,建议trueExpiredTime:过期时间,long类型,单位分钟,默认20分钟ClockSkew:过期时间容错值,long类型,单位秒,默认5秒RequireExpirationTime:是否验证过期时间,bool类型,默认false,Furion 4.9.1.46+支持Algorithm:加密算法,string类型,默认HS256,可选算法有:HS256HS384HS512PS256PS384PS512RS256:Furion 4.9.8.24+支持RS384:Furion 4.9.8.24+支持RS512:Furion 4.9.8.24+支持ES256ES256KES384ES512EdDSA
9.3 配置示例
{
"JWTSettings": {
"ValidateIssuerSigningKey": true, // 是否验证密钥,bool 类型,默认true
"IssuerSigningKey": "你的密钥(公钥)", // 密钥,string 类型,必须是复杂密钥,长度大于16,.NET8+ 长度需大于 32
"IssuerSigningPrivateKey": null, // 私钥,string 类型,仅使用 RS*/PS*/ES* 加密算法时才需要配置,其他加密配置为 null,string 类型,Furion 4.9.8.24+ 支持
"ValidateIssuer": true, // 是否验证签发方,bool 类型,默认true
"ValidIssuer": "签发方", // 签发方,string 类型
"ValidateAudience": true, // 是否验证签收方,bool 类型,默认true
"ValidAudience": "签收方", // 签收方,string 类型
"ValidateLifetime": true, // 是否验证过期时间,bool 类型,默认true,建议true
"ExpiredTime": 20, // 过期时间,long 类型,单位分钟,默认20分钟,最大支持 13 年
"ClockSkew": 5, // 过期时间容错值,long 类型,单位秒,默认 5秒
"Algorithm": "HS256", // 加密算法,string 类型,默认 HS256
"RequireExpirationTime": true // 验证过期时间,设置 false 将永不过期,Furion 4.9.1.46+ 支持
}
}