Files
go-gin-api/pkg/token/token.go
T
2021-03-06 13:28:38 +08:00

41 lines
684 B
Go

package token
import (
"net/url"
"time"
"github.com/dgrijalva/jwt-go"
)
var _ Token = (*token)(nil)
type Token interface {
// i 为了避免被其他包实现
i()
// JWT 签名方式
JwtSign(userId int64, userName string, expireDuration time.Duration) (tokenString string, err error)
JwtParse(tokenString string) (*claims, error)
// URL 签名方式,不支持解密
UrlSign(path string, method string, params url.Values) (tokenString string, err error)
}
type token struct {
secret string
}
type claims struct {
UserID int64
UserName string
jwt.StandardClaims
}
func New(secret string) Token {
return &token{
secret: secret,
}
}
func (t *token) i() {}