Documentation
¶
Index ¶
- Variables
- func ParseUnverified(raw string, claims IJWTClaims) error
- type ClaimsBuilder
- func (c *ClaimsBuilder) Build() *jwt.Claims
- func (c *ClaimsBuilder) ExpiresAfter(d time.Duration) *ClaimsBuilder
- func (c *ClaimsBuilder) GetAudience() jwt.Audience
- func (c *ClaimsBuilder) GetExpiresAfter() *jwt.NumericDate
- func (c *ClaimsBuilder) GetID() string
- func (c *ClaimsBuilder) GetIssuedAt() *jwt.NumericDate
- func (c *ClaimsBuilder) GetIssuer() string
- func (c *ClaimsBuilder) GetNotBefore() *jwt.NumericDate
- func (c *ClaimsBuilder) GetSubject() string
- func (c *ClaimsBuilder) NotUseBefore(d time.Duration) *ClaimsBuilder
- func (c *ClaimsBuilder) WithAudience(audience jwt.Audience) *ClaimsBuilder
- func (c *ClaimsBuilder) WithID(id string) *ClaimsBuilder
- func (c *ClaimsBuilder) WithIssuedAt() *ClaimsBuilder
- func (c *ClaimsBuilder) WithIssuer(issuer string) *ClaimsBuilder
- func (c *ClaimsBuilder) WithSubject(subject string) *ClaimsBuilder
- type ClaimsOption
- type Common
- type EES256JWT
- func (ee EES256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
- func (ee EES256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
- func (ee EES256JWT) Validate(raw string) error
- func (ee EES256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
- type EHS256JWT
- func (eh EHS256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
- func (eh EHS256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
- func (eh EHS256JWT) Validate(raw string) error
- func (eh EHS256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
- type EHS384JWT
- func (eh EHS384JWT) GenerateToken(claims IJWTClaims) (token string, err error)
- func (eh EHS384JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
- func (eh EHS384JWT) Validate(raw string) error
- func (eh EHS384JWT) VerifyToken(token string, claims IJWTClaims) (err error)
- type EHS512JWT
- func (eh EHS512JWT) GenerateToken(claims IJWTClaims) (token string, err error)
- func (eh EHS512JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
- func (eh EHS512JWT) Validate(raw string) error
- func (eh EHS512JWT) VerifyToken(token string, claims IJWTClaims) (err error)
- type ERS256JWT
- func (er ERS256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
- func (er ERS256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
- func (er ERS256JWT) Validate(raw string) error
- func (er ERS256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
- type ES256JWT
- func (e ES256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
- func (e ES256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
- func (e ES256JWT) Validate(raw string) error
- func (e ES256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
- type HS256JWT
- func (h HS256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
- func (h HS256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
- func (h HS256JWT) Validate(raw string) error
- func (h HS256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
- type HS384JWT
- func (h HS384JWT) GenerateToken(claims IJWTClaims) (token string, err error)
- func (h HS384JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
- func (h HS384JWT) Validate(raw string) error
- func (h HS384JWT) VerifyToken(token string, claims IJWTClaims) (err error)
- type IClaims
- type IJWT
- type IJWTClaims
- type IJWTExpire
- type RS256JWT
- func (r RS256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
- func (r RS256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
- func (r RS256JWT) Validate(raw string) error
- func (r RS256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
Constants ¶
This section is empty.
Variables ¶
var ( ErrNoKey = errors.New("not provider jwt private/secret key") // ErrTokenExpired variable ErrTokenExpired = errors.New("token is expired") // ErrParsePrivateKey variable ErrParsePrivateKey = errors.New("parse private key error") )
var ( // Now variable Now = time.Now )
Functions ¶
func ParseUnverified ¶
func ParseUnverified(raw string, claims IJWTClaims) error
Types ¶
type ClaimsBuilder ¶
ClaimsBuilder type
func (*ClaimsBuilder) ExpiresAfter ¶
func (c *ClaimsBuilder) ExpiresAfter(d time.Duration) *ClaimsBuilder
ExpiresAfter method
func (*ClaimsBuilder) GetAudience ¶
func (c *ClaimsBuilder) GetAudience() jwt.Audience
GetAudience method
func (*ClaimsBuilder) GetExpiresAfter ¶
func (c *ClaimsBuilder) GetExpiresAfter() *jwt.NumericDate
GetExpiresAfter method
func (*ClaimsBuilder) GetIssuedAt ¶
func (c *ClaimsBuilder) GetIssuedAt() *jwt.NumericDate
GetIssuedAt method
func (*ClaimsBuilder) GetNotBefore ¶
func (c *ClaimsBuilder) GetNotBefore() *jwt.NumericDate
GetNotBefore method
func (*ClaimsBuilder) NotUseBefore ¶
func (c *ClaimsBuilder) NotUseBefore(d time.Duration) *ClaimsBuilder
NotUseBefore method
func (*ClaimsBuilder) WithAudience ¶
func (c *ClaimsBuilder) WithAudience(audience jwt.Audience) *ClaimsBuilder
WithAudience method
func (*ClaimsBuilder) WithID ¶
func (c *ClaimsBuilder) WithID(id string) *ClaimsBuilder
WithID method
func (*ClaimsBuilder) WithIssuedAt ¶
func (c *ClaimsBuilder) WithIssuedAt() *ClaimsBuilder
WithIssuedAt method
func (*ClaimsBuilder) WithIssuer ¶
func (c *ClaimsBuilder) WithIssuer(issuer string) *ClaimsBuilder
WithIssuer method
func (*ClaimsBuilder) WithSubject ¶
func (c *ClaimsBuilder) WithSubject(subject string) *ClaimsBuilder
WithSubject method
type ClaimsOption ¶
type ClaimsOption interface {
Apply(*Common)
}
ClaimsOption interface
func WithPermissions ¶
func WithPermissions(permissions ...string) ClaimsOption
WithPermissions method
func WithRootID ¶ added in v0.0.6
func WithRootID[T generic.ByteSeq](id T) ClaimsOption
WithRootID method
type Common ¶
type Common struct {
Secret []byte `json:"s,omitempty"`
RootID []byte `json:"root_id,omitempty"`
ClientID []byte `json:"client_id,omitempty"`
Permissions []string `json:"permissions,omitempty"`
Scopes []string `json:"scopes,omitempty"`
*jwt.Claims
}
Common type
func NewCommon ¶
func NewCommon(claims *jwt.Claims, options ...ClaimsOption) *Common
NewCommon method
func (*Common) ExpiresAfter ¶
func (*Common) GetExpiresAfter ¶
func (c *Common) GetExpiresAfter() *jwt.NumericDate
type EES256JWT ¶
EES256JWT type
func NewEES256JWT ¶
NewEES256JWT method
func (EES256JWT) GenerateToken ¶
func (ee EES256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
GenerateToken method
func (EES256JWT) RefreshToken ¶
func (ee EES256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
RefreshToken method
func (EES256JWT) VerifyToken ¶
func (ee EES256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
VerifyToken method
type EHS256JWT ¶
EHS256JWT type
func (EHS256JWT) GenerateToken ¶
func (eh EHS256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
GenerateToken method
func (EHS256JWT) RefreshToken ¶
func (eh EHS256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
RefreshToken method
func (EHS256JWT) VerifyToken ¶
func (eh EHS256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
VerifyToken method
type EHS384JWT ¶
EHS384JWT type
func (EHS384JWT) GenerateToken ¶
func (eh EHS384JWT) GenerateToken(claims IJWTClaims) (token string, err error)
GenerateToken method
func (EHS384JWT) RefreshToken ¶
func (eh EHS384JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
RefreshToken method
func (EHS384JWT) VerifyToken ¶
func (eh EHS384JWT) VerifyToken(token string, claims IJWTClaims) (err error)
VerifyToken method
type EHS512JWT ¶
EHS512JWT type
func (EHS512JWT) GenerateToken ¶
func (eh EHS512JWT) GenerateToken(claims IJWTClaims) (token string, err error)
GenerateToken method
func (EHS512JWT) RefreshToken ¶
func (eh EHS512JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
RefreshToken method
func (EHS512JWT) VerifyToken ¶
func (eh EHS512JWT) VerifyToken(token string, claims IJWTClaims) (err error)
VerifyToken method
type ERS256JWT ¶
ERS256JWT type
func (ERS256JWT) GenerateToken ¶
func (er ERS256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
GenerateToken method
func (ERS256JWT) RefreshToken ¶
func (er ERS256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
RefreshToken method
func (ERS256JWT) VerifyToken ¶
func (er ERS256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
VerifyToken method
type ES256JWT ¶
type ES256JWT struct {
SigningKey *ecdsa.PrivateKey
Sig jose.Signer
}
ES256JWT type
func (ES256JWT) GenerateToken ¶
func (e ES256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
GenerateToken method
func (ES256JWT) RefreshToken ¶
func (e ES256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
RefreshToken method
func (ES256JWT) VerifyToken ¶
func (e ES256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
VerifyToken method
type HS256JWT ¶
HS256JWT type
func (HS256JWT) GenerateToken ¶
func (h HS256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
GenerateToken method
func (HS256JWT) RefreshToken ¶
func (h HS256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
RefreshToken method
func (HS256JWT) VerifyToken ¶
func (h HS256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
VerifyToken method
type HS384JWT ¶
HS384JWT type
func (HS384JWT) GenerateToken ¶
func (h HS384JWT) GenerateToken(claims IJWTClaims) (token string, err error)
GenerateToken method
func (HS384JWT) RefreshToken ¶
func (h HS384JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
RefreshToken method
func (HS384JWT) VerifyToken ¶
func (h HS384JWT) VerifyToken(token string, claims IJWTClaims) (err error)
VerifyToken method
type IClaims ¶
type IClaims interface {
ExpiresAfter(d time.Duration) *ClaimsBuilder
GetExpiresAfter() *jwt.NumericDate
WithAudience(audience jwt.Audience) *ClaimsBuilder
GetAudience() jwt.Audience
WithID(id string) *ClaimsBuilder
GetID() string
WithIssuedAt() *ClaimsBuilder
GetIssuedAt() *jwt.NumericDate
WithIssuer(issuer string) *ClaimsBuilder
GetIssuer() string
NotUseBefore(d time.Duration) *ClaimsBuilder
GetNotBefore() *jwt.NumericDate
WithSubject(subject string) *ClaimsBuilder
GetSubject() string
Build() *jwt.Claims
}
type IJWT ¶
type IJWT interface {
GenerateToken(claims IJWTClaims) (string, error)
Validate(raw string) (err error)
VerifyToken(token string, claims IJWTClaims) (err error)
RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
}
IJWT interface
type IJWTClaims ¶
type IJWTExpire ¶
type IJWTExpire interface {
ExpiresAfter(d time.Duration)
GetExpiresAfter() *jwt.NumericDate
}
type RS256JWT ¶
type RS256JWT struct {
SigningKey *rsa.PrivateKey
Sig jose.Signer
}
RS256JWT type
func (RS256JWT) GenerateToken ¶
func (r RS256JWT) GenerateToken(claims IJWTClaims) (token string, err error)
GenerateToken method
func (RS256JWT) RefreshToken ¶
func (r RS256JWT) RefreshToken(token string, claims IJWTClaims, duration time.Duration) (string, error)
RefreshToken method
func (RS256JWT) VerifyToken ¶
func (r RS256JWT) VerifyToken(token string, claims IJWTClaims) (err error)
VerifyToken method