hongbo-miao/hongbomiao.com

View on GitHub
api-go/internal/graphql_server/utils/generate_jwt_token.go

Summary

Maintainability
A
0 mins
Test Coverage
package utils

import (
    "github.com/golang-jwt/jwt/v5"
    "github.com/rs/zerolog/log"
    "time"
)

func GenerateJWTToken(uid string) (string, error) {
    config := GetConfig()

    token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
        "id":  uid,
        "exp": time.Now().Add(time.Hour * 24).Unix(),
    })

    tokenString, err := token.SignedString([]byte(config.JWTSecret))
    if err != nil {
        log.Error().Err(err).Msg("token.SignedString")
        return "", err
    }

    return tokenString, nil
}