Skip to content

Commit

Permalink
refactor(jwt): optimize JWT using New() instead of create instance …
Browse files Browse the repository at this point in the history
…directly (#1983)

- 重构 JWT token 生成,使用 `New()` 函数代替直接创建实例
- 优化 SetUserAuthority 中的错误处理流程,移除 else 代码块
- 移除多余的 err != nil 判断
  • Loading branch information
huiyifyj authored Jan 13, 2025
1 parent 831bd61 commit 4c8127b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 15 deletions.
17 changes: 8 additions & 9 deletions server/api/v1/system/sys_user.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package system

import (
"github.com/flipped-aurora/gin-vue-admin/server/model/common"
"strconv"
"time"

"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/common"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/flipped-aurora/gin-vue-admin/server/model/system"
systemReq "github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
systemRes "github.com/flipped-aurora/gin-vue-admin/server/model/system/response"
"github.com/flipped-aurora/gin-vue-admin/server/utils"

"github.com/gin-gonic/gin"
"github.com/redis/go-redis/v9"
"go.uber.org/zap"
Expand Down Expand Up @@ -257,17 +256,17 @@ func (b *BaseApi) SetUserAuthority(c *gin.Context) {
return
}
claims := utils.GetUserInfo(c)
j := &utils.JWT{SigningKey: []byte(global.GVA_CONFIG.JWT.SigningKey)} // 唯一签名
claims.AuthorityId = sua.AuthorityId
if token, err := j.CreateToken(*claims); err != nil {
token, err := utils.NewJWT().CreateToken(*claims)
if err != nil {
global.GVA_LOG.Error("修改失败!", zap.Error(err))
response.FailWithMessage(err.Error(), c)
} else {
c.Header("new-token", token)
c.Header("new-expires-at", strconv.FormatInt(claims.ExpiresAt.Unix(), 10))
utils.SetToken(c, token, int((claims.ExpiresAt.Unix()-time.Now().Unix())/60))
response.OkWithMessage("修改成功", c)
return
}
c.Header("new-token", token)
c.Header("new-expires-at", strconv.FormatInt(claims.ExpiresAt.Unix(), 10))
utils.SetToken(c, token, int((claims.ExpiresAt.Unix()-time.Now().Unix())/60))
response.OkWithMessage("修改成功", c)
}

// SetUserAuthorities
Expand Down
10 changes: 4 additions & 6 deletions server/utils/claims.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package utils

import (
"net"
"time"

"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/system"
systemReq "github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
"github.com/gin-gonic/gin"
"github.com/gofrs/uuid/v5"
"net"
"time"
)

func ClearToken(c *gin.Context) {
Expand Down Expand Up @@ -134,7 +135,7 @@ func GetUserName(c *gin.Context) string {
}

func LoginToken(user system.Login) (token string, claims systemReq.CustomClaims, err error) {
j := &JWT{SigningKey: []byte(global.GVA_CONFIG.JWT.SigningKey)} // 唯一签名
j := NewJWT()
claims = j.CreateClaims(systemReq.BaseClaims{
UUID: user.GetUUID(),
ID: user.GetUserId(),
Expand All @@ -143,8 +144,5 @@ func LoginToken(user system.Login) (token string, claims systemReq.CustomClaims,
AuthorityId: user.GetAuthorityId(),
})
token, err = j.CreateToken(claims)
if err != nil {
return
}
return
}

0 comments on commit 4c8127b

Please sign in to comment.