1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package util
- import (
- "github.com/golang-jwt/jwt"
- "time"
- )
- var jwtKey = []byte("hello223rdwvwdfforl-'dandfdsafdafdsfsmay")
- type Claims struct {
- UserId uint
- jwt.StandardClaims
- }
- func CreatToken(uid uint) (string, error) {
- expirationTime := time.Now().Add(31 * 24 * time.Hour)
- claims := &Claims{
- UserId: uid,
- StandardClaims: jwt.StandardClaims{
- ExpiresAt: expirationTime.Unix(),
- IssuedAt: time.Now().Unix(),
- Issuer: "may1145",
- Subject: "user token",
- },
- }
- token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
- tokenString, err := token.SignedString(jwtKey)
- if err != nil {
- return "", err
- }
- return tokenString, nil
- }
- func ParseToken(tokenString string) (*jwt.Token, *Claims, error) {
- claims := &Claims{}
- token, err := jwt.ParseWithClaims(tokenString, claims, func(token *jwt.Token) (i any, err error) {
- return jwtKey, nil
- })
- return token, claims, err
- }
|