first commit
This commit is contained in:
36
pkg/token/token.go
Normal file
36
pkg/token/token.go
Normal file
@ -0,0 +1,36 @@
|
||||
package token
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
"github.com/golang-jwt/jwt/v4"
|
||||
)
|
||||
|
||||
var _ Token = (*token)(nil)
|
||||
|
||||
type Token interface {
|
||||
// i 为了避免被其他包实现
|
||||
i()
|
||||
|
||||
// JwtSign JWT 签名方式
|
||||
JwtSign(userId, subject string, expireDuration time.Duration) (tokenString string, err error)
|
||||
JwtParse(tokenString string) (*jwt.RegisteredClaims, error)
|
||||
|
||||
// UrlSign URL 签名方式,不支持解密
|
||||
UrlSign(path string, method string, params url.Values) (tokenString string, err error)
|
||||
}
|
||||
|
||||
type token struct {
|
||||
secret string
|
||||
domain []string
|
||||
}
|
||||
|
||||
func New(secret string, domain ...string) Token {
|
||||
return &token{
|
||||
secret: secret,
|
||||
domain: domain,
|
||||
}
|
||||
}
|
||||
|
||||
func (t *token) i() {}
|
Reference in New Issue
Block a user