| 1234567891011121314151617181920212223242526272829303132333435 |
- package tool
- import (
- "fmt"
- "github.com/astaxie/beego"
- "github.com/dgrijalva/jwt-go"
- "strconv"
- "time"
- )
- func CreateToken(Phone string) string {
- token := jwt.New(jwt.SigningMethodHS256)
- claims := make(jwt.MapClaims)
- tokenexp, _ := strconv.Atoi(beego.AppConfig.String("Tokenexp"))
- claims["exp"] = time.Now().Add(time.Hour * time.Duration(tokenexp)).Unix()
- claims["iat"] = time.Now().Unix()
- claims["phone"] = Phone
- token.Claims = claims
- tokenString, _ := token.SignedString([]byte(beego.AppConfig.String("TokenSecrets")))
- return tokenString
- }
- func CheckToken(tokenString string) string {
- Phone := ""
- token, _ := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {
- if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
- return nil, fmt.Errorf("Unexpected signing method")
- }
- return []byte(beego.AppConfig.String("TokenSecrets")), nil
- })
- claims, _ := token.Claims.(jwt.MapClaims)
- Phone = claims["phone"].(string)
- return Phone
- }
|