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