提出jwt的issuer签名到配置文件 增加claims的统一创建方法

This commit is contained in:
蒋吉兆
2021-10-25 22:19:06 +08:00
parent 8d0977e36b
commit f999aa1faa
5 changed files with 27 additions and 14 deletions
+14
View File
@@ -5,6 +5,7 @@ import (
"github.com/dgrijalva/jwt-go"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
"time"
)
type JWT struct {
@@ -24,6 +25,19 @@ func NewJWT() *JWT {
}
}
func (j *JWT) CreateClaims(baseClaims request.BaseClaims) request.CustomClaims {
claims := request.CustomClaims{
BaseClaims: baseClaims,
BufferTime: global.GVA_CONFIG.JWT.BufferTime, // 缓冲时间1天 缓冲时间内会获得新的token刷新令牌 此时一个用户会存在两个有效令牌 但是前端只留一个 另一个会丢失
StandardClaims: jwt.StandardClaims{
NotBefore: time.Now().Unix() - 1000, // 签名生效时间
ExpiresAt: time.Now().Unix() + global.GVA_CONFIG.JWT.ExpiresTime, // 过期时间 7天 配置文件
Issuer: global.GVA_CONFIG.JWT.Issuer, // 签名的发行者
},
}
return claims
}
// 创建一个token
func (j *JWT) CreateToken(claims request.CustomClaims) (string, error) {
token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)