u
This commit is contained in:
1 parent
b6415c0d65
commit
89aaef1d6b
29 files changed
+1118
-277
No files matched your search
@@ -48,8 +48,12 @@ func getManager() *jwtManager {
|
||||
// Claims(通用结构)
|
||||
// ==================
|
||||
|
||||
type TokenData struct {
|
||||
UserID int64 `json:"user_id"`
|
||||
}
|
||||
|
||||
type CustomClaims struct {
|
||||
Data map[string]any `json:"data"`
|
||||
Data TokenData `json:"data"`
|
||||
jwt.RegisteredClaims
|
||||
}
|
||||
|
||||
@@ -58,7 +62,7 @@ type CustomClaims struct {
|
||||
// ==================
|
||||
|
||||
// CreateToken 生成 JWT
|
||||
func CreateToken(ctx context.Context, data map[string]any) (string, error) {
|
||||
func CreateToken(ctx context.Context, data TokenData) (string, error) {
|
||||
m := getManager()
|
||||
return m.createToken(data)
|
||||
}
|
||||
@@ -91,7 +95,7 @@ func VerifyToken(ctx context.Context, tokenString string) (*CustomClaims, bool)
|
||||
// 内部实现
|
||||
// ==================
|
||||
|
||||
func (j *jwtManager) createToken(data map[string]any) (string, error) {
|
||||
func (j *jwtManager) createToken(data TokenData) (string, error) {
|
||||
now := time.Now()
|
||||
|
||||
claims := &CustomClaims{
|
||||
@@ -101,8 +105,6 @@ func (j *jwtManager) createToken(data map[string]any) (string, error) {
|
||||
},
|
||||
}
|
||||
|
||||
// ✅ 只有 >0 才设置过期时间
|
||||
// -1 / 0 都表示不过期
|
||||
if j.tokenExpiry > 0 {
|
||||
claims.ExpiresAt = jwt.NewNumericDate(now.Add(j.tokenExpiry))
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user