package main import ( "time" "github.com/dgrijalva/jwt-go" ) const JWT_SECRET = "abcd1234asdfqwer!@#!@#53.abcd1234asdfqwer!@#!@#53." // type customClaims struct { // Uid string `json:"uid"` // jwt.StandardClaims // } func createToken(uid int) (string, error) { at := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{ "uid": uid, "exp": time.Now().Add(time.Hour * 24).Unix(), }) return at.SignedString([]byte(JWT_SECRET)) } func parseToken(token string) (int, error) { claim, err := jwt.Parse(token, func(token *jwt.Token) (interface{}, error) { return []byte(JWT_SECRET), nil }) if err != nil { return 0, err } return int(claim.Claims.(jwt.MapClaims)["uid"].(float64)), nil }