Compare commits

..

2 Commits

Author SHA1 Message Date
7e91109bce fix parsejwt 2025-10-13 11:59:49 +08:00
d451eb3eff 修复GenerateJwt函数中的错误处理逻辑 2025-10-12 03:54:19 +08:00
2 changed files with 9 additions and 6 deletions

View File

@@ -54,7 +54,10 @@ func (t *tokenJwt) GenerateJwt(id uint, identity, client, role string, owner any
// 使用HS256签名算法 // 使用HS256签名算法
token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
s, err := token.SignedString([]byte(t.SecretKey)) s, err := token.SignedString([]byte(t.SecretKey))
return s, errcode.String(errcode.ErrTokenGenerate, err.Error()) if err != nil {
return "", errcode.String(errcode.ErrTokenGenerate, err.Error())
}
return s, nil
} }
// 解析JWT // 解析JWT

View File

@@ -3,9 +3,9 @@ package service
import ( import (
"context" "context"
"git.apinb.com/bsm-sdk/core/crypto/encipher" "git.apinb.com/bsm-sdk/core/crypto/token"
"git.apinb.com/bsm-sdk/core/env"
"git.apinb.com/bsm-sdk/core/errcode" "git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/types"
"git.apinb.com/bsm-sdk/core/utils" "git.apinb.com/bsm-sdk/core/utils"
"google.golang.org/grpc/metadata" "google.golang.org/grpc/metadata"
) )
@@ -16,7 +16,7 @@ type ParseOptions struct {
MustPrivateAllow bool // 是否只允许私有IP访问 MustPrivateAllow bool // 是否只允许私有IP访问
} }
func ParseMetaCtx(ctx context.Context, opts *ParseOptions) (*types.JwtClaims, error) { func ParseMetaCtx(ctx context.Context, opts *ParseOptions) (*token.Claims, error) {
// 解析metada中的信息并验证 // 解析metada中的信息并验证
md, ok := metadata.FromIncomingContext(ctx) md, ok := metadata.FromIncomingContext(ctx)
if !ok { if !ok {
@@ -28,7 +28,7 @@ func ParseMetaCtx(ctx context.Context, opts *ParseOptions) (*types.JwtClaims, er
return nil, errcode.ErrTokenAuthNotFound return nil, errcode.ErrTokenAuthNotFound
} }
claims, err := encipher.ParseTokenAes(Authorizations[0]) claims, err := token.New(env.Runtime.JwtSecretKey).ParseJwt(Authorizations[0])
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -48,7 +48,7 @@ func ParseMetaCtx(ctx context.Context, opts *ParseOptions) (*types.JwtClaims, er
} }
func checkRole(claims *types.JwtClaims, roleKey, roleValue string) bool { func checkRole(claims *token.Claims, roleKey, roleValue string) bool {
if roleValue == "" { if roleValue == "" {
return true return true
} }