1 Star 0 Fork 0

fkil555/gin-extend

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
generateJwtToken.go 1.34 KB
一键复制 编辑 原始数据 按行查看 历史
fkil555 提交于 2024-07-24 10:49 . token extends
package tokenhelper
import (
"errors"
"strings"
"time"
"gitee.com/fkil555/gin-extend/conf"
"github.com/golang-jwt/jwt/v4"
)
type GenerateJwtStruct struct {
Uid int64
ExtendInfo string
jwt.RegisteredClaims
}
func (g *GenerateJwtStruct) GenerateJwtToken() (string, error) {
if len(conf.GEConf.AppConfig.TokenAccessSecret) <= 0 || conf.GEConf.AppConfig.TokenAccessExpire <= 0 {
return "", errors.New("token access secret or token access expire invalid")
}
tokenVal := GenerateJwtStruct{
Uid: g.Uid,
ExtendInfo: g.ExtendInfo,
RegisteredClaims: jwt.RegisteredClaims{
ExpiresAt: jwt.NewNumericDate(time.Now().Add(time.Duration(conf.GEConf.AppConfig.TokenAccessExpire) * time.Second)),
},
}
claims := jwt.NewWithClaims(jwt.SigningMethodHS256,
tokenVal,
)
token, err := claims.SignedString([]byte(conf.GEConf.AppConfig.TokenAccessSecret))
token = "Bearer " + token
return token, err
}
func ParseJwtToken(tokenStr string) (*GenerateJwtStruct, error) {
if len(tokenStr) > 7 && strings.ToUpper(tokenStr[0:7]) == "BEARER " {
tokenStr = tokenStr[7:]
}
jwtStruct := GenerateJwtStruct{}
_, err := jwt.ParseWithClaims(
tokenStr,
&jwtStruct,
func(token *jwt.Token) (interface{}, error) {
return []byte(conf.GEConf.AppConfig.TokenAccessSecret), nil
},
)
if err == nil {
return &jwtStruct, nil
} else {
return nil, err
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fkil555/gin-extend.git
git@gitee.com:fkil555/gin-extend.git
fkil555
gin-extend
gin-extend
v0.1.42

搜索帮助