wip: 继续 day2

This commit is contained in:
loveuer
2024-10-24 18:01:44 +08:00
parent f3861184b6
commit a17b9bb16b
14 changed files with 387 additions and 45 deletions

View File

@ -1,5 +1,13 @@
package model
import (
"fmt"
"github.com/golang-jwt/jwt/v5"
"github.com/loveuer/nf/nft/log"
"time"
"uauth/internal/opt"
)
type Status int64
type User struct {
@ -21,3 +29,23 @@ type User struct {
LoginAt int64 `json:"login_at" gorm:"-"`
}
func (u *User) JwtEncode() (token string, err error) {
now := time.Now()
jwtToken := jwt.NewWithClaims(jwt.SigningMethodHS512, jwt.MapClaims{
"id": u.Id,
"username": u.Username,
"status": u.Status,
"login_at": now.UnixMilli(),
})
if token, err = jwtToken.SignedString([]byte(opt.JwtTokenSecret)); err != nil {
err = fmt.Errorf("JwtEncode: jwt token signed secret err: %v", err)
log.Error(err.Error())
return "", nil
}
return
}