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)
}