This commit is contained in:
2026-02-15 17:16:22 +03:00
commit 14815e521b
7 changed files with 257 additions and 0 deletions

30
auth/jwt.go Normal file
View File

@@ -0,0 +1,30 @@
package auth
import (
"os"
"time"
"github.com/golang-jwt/jwt/v5"
)
var secretKey = os.Getenv("JWT_SECRET_KEY")
type UserClaims struct {
jwt.RegisteredClaims
UserID int64
}
func GenerateUserToken(userId int64, expiryTime time.Time) (string, error) {
now := time.Now()
claims := UserClaims{
UserID: userId,
RegisteredClaims: jwt.RegisteredClaims{
IssuedAt: jwt.NewNumericDate(now),
ExpiresAt: jwt.NewNumericDate(expiryTime),
},
}
token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
return token.SignedString([]byte(secretKey))
}