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