0
点赞
收藏
分享

微信扫一扫

golang的jwt

package middleware

import (
"errors"
"log"
"time"

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

var hmacSampleSecret = []byte("guge")

//CreateJwtToken 创建token
func CreateJwtToken() string {
//https://github.com/golang-jwt/jwt
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"foo": "bar",
"nbf": time.Date(2015, 10, 10, 12, 0, 0, 0, time.UTC).Unix(),
})

tokenString, err := token.SignedString(hmacSampleSecret)
if err != nil {
log.Println("------创建jwt token出错------")
}
return tokenString
}

// CheckToken 检查token是否正确
func CheckToken(tokenString string) bool {
token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
return nil, errors.New("签名错误")
}
return hmacSampleSecret, nil
})
if err != nil {
log.Println("====== 解析token出错 ======")
log.Println(err)
return false
}
right := false
if _, ok := token.Claims.(jwt.MapClaims); ok && token.Valid {
right = true
}
return right
}

举报

相关推荐

0 条评论