Go jwt.MapClaims

PIZZU·2024년 11월 7일
package main

import (
	"fmt"
	"time"

	"github.com/golang-jwt/jwt"
)

// 비밀 키
var mySigningKey = []byte("mysecretkey")

// JWT 생성 함수
func createJWT(userID string) (string, error) {
	// JWT 클레임을 MapClaims로 설정
	claims := jwt.MapClaims{}
	claims["user_id"] = userID           // 사용자 ID
	claims["exp"] = time.Now().Add(time.Hour * 1).Unix() // 토큰 만료 시간 (1시간 후)

	// JWT 토큰 생성
	token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)

	// 서명하여 토큰 문자열 생성
	tokenString, err := token.SignedString(mySigningKey)
	if err != nil {
		return "", err
	}
	return tokenString, nil
}

func main() {
	// JWT 생성
	token, err := createJWT("12345")
	if err != nil {
		fmt.Println("Error creating JWT:", err)
		return
	}

	fmt.Println("Generated JWT Token:", token)
}
profile
pizzu's blog

0개의 댓글