2 Star 0 Fork 0

TeamsHub/backend-gopkg

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
token_jwt.go 1.19 KB
Copy Edit Raw Blame History
wuzheng0709 authored 2024-08-04 18:48 +08:00 . fix mod
package token
import (
"time"
"github.com/golang-jwt/jwt/v4"
)
func (t *token) JwtSign(userId int64, userName string, expireDuration time.Duration) (tokenString string, err error) {
// The token content.
// iss: (Issuer)签发者
// iat: (Issued At)签发时间,用Unix时间戳表示
// exp: (Expiration Time)过期时间,用Unix时间戳表示
// aud: (Audience)接收该JWT的一方
// sub: (Subject)该JWT的主题
// nbf: (Not Before)不要早于这个时间
// jti: (JWT ID)用于标识JWT的唯一ID
claims := claims{
userId,
userName,
jwt.StandardClaims{
NotBefore: time.Now().Unix(),
IssuedAt: time.Now().Unix(),
ExpiresAt: time.Now().Add(expireDuration).Unix(),
},
}
tokenString, err = jwt.NewWithClaims(jwt.SigningMethodHS256, claims).SignedString([]byte(t.secret))
return
}
func (t *token) JwtParse(tokenString string) (*claims, error) {
tokenClaims, err := jwt.ParseWithClaims(tokenString, &claims{}, func(token *jwt.Token) (interface{}, error) {
return []byte(t.secret), nil
})
if tokenClaims != nil {
if claims, ok := tokenClaims.Claims.(*claims); ok && tokenClaims.Valid {
return claims, nil
}
}
return nil, err
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wuzheng0709/backend-gopkg.git
git@gitee.com:wuzheng0709/backend-gopkg.git
wuzheng0709
backend-gopkg
backend-gopkg
v1.6.28

Search