Versions in this module Expand all Collapse all v0 v0.0.1 Feb 4, 2023 Changes in this version + var ErrEmptyAuthHeader = errors.New("auth header is empty") + var ErrEmptyCookieToken = errors.New("cookie token is empty") + var ErrEmptyFormToken = errors.New("form token is empty") + var ErrEmptyParamToken = errors.New("parameter token is empty") + var ErrEmptyQueryToken = errors.New("query token is empty") + var ErrExpiredToken = errors.New("token is expired") + var ErrFailedAuthentication = errors.New("incorrect Username or Password") + var ErrFailedTokenCreation = errors.New("failed to create JWT Token") + var ErrForbidden = errors.New("you don't have permission to access this resource") + var ErrInvalidAuthHeader = errors.New("auth header is invalid") + var ErrInvalidPrivKey = errors.New("private key invalid") + var ErrInvalidPubKey = errors.New("public key invalid") + var ErrInvalidSigningAlgorithm = errors.New("invalid signing algorithm") + var ErrMissingAuthenticatorFunc = errors.New("HertzJWTMiddleware.Authenticator func is undefined") + var ErrMissingExpField = errors.New("missing exp field") + var ErrMissingLoginValues = errors.New("missing Username or Password") + var ErrMissingSecretKey = errors.New("secret key is required") + var ErrNoPrivKeyFile = errors.New("private key file unreadable") + var ErrNoPubKeyFile = errors.New("public key file unreadable") + var ErrWrongFormatOfExp = errors.New("exp must be float64 format") + var IdentityKey = "identity" + func GetToken(ctx context.Context, c *app.RequestContext) string + type HandlerBoolFunc func(c context.Context, ctx *app.RequestContext) bool + type HertzJWTMiddleware struct + Authenticator func(ctx context.Context, c *app.RequestContext) (interface{}, error) + Authorizator func(data interface{}, ctx context.Context, c *app.RequestContext) bool + CookieDomain string + CookieHTTPOnly bool + CookieMaxAge time.Duration + CookieName string + CookieSameSite protocol.CookieSameSite + DisabledAbort bool + HTTPStatusMessageFunc func(e error, ctx context.Context, c *app.RequestContext) string + IdentityHandler func(ctx context.Context, c *app.RequestContext) interface{} + IdentityKey string + Key []byte + KeyFunc func(token *jwt.Token) (interface{}, error) + LoginResponse func(ctx context.Context, c *app.RequestContext, code int, message string, ...) + LogoutResponse func(ctx context.Context, c *app.RequestContext, code int) + MaxRefresh time.Duration + ParseOptions []jwt.ParserOption + PayloadFunc func(data interface{}) MapClaims + PrivKeyBytes []byte + PrivKeyFile string + PrivateKeyPassphrase string + PubKeyBytes []byte + PubKeyFile string + Realm string + RefreshResponse func(ctx context.Context, c *app.RequestContext, code int, message string, ...) + SecureCookie bool + SendAuthorization bool + SendCookie bool + SigningAlgorithm string + TimeFunc func() time.Time + Timeout time.Duration + TokenHeadName string + TokenLookup string + Unauthorized func(ctx context.Context, c *app.RequestContext, code int, message string) + WithoutDefaultTokenHeadName bool + func New(m *HertzJWTMiddleware) (*HertzJWTMiddleware, error) + func (mw *HertzJWTMiddleware) CheckIfTokenExpire(ctx context.Context, c *app.RequestContext) (jwt.MapClaims, error) + func (mw *HertzJWTMiddleware) GetClaimsFromJWT(ctx context.Context, c *app.RequestContext) (MapClaims, error) + func (mw *HertzJWTMiddleware) LoginHandler(ctx context.Context, c *app.RequestContext) + func (mw *HertzJWTMiddleware) LogoutHandler(ctx context.Context, c *app.RequestContext) + func (mw *HertzJWTMiddleware) MiddlewareFunc() app.HandlerFunc + func (mw *HertzJWTMiddleware) MiddlewareFuncOptional(fn HandlerBoolFunc) app.HandlerFunc + func (mw *HertzJWTMiddleware) MiddlewareInit() error + func (mw *HertzJWTMiddleware) ParseToken(ctx context.Context, c *app.RequestContext) (*jwt.Token, error) + func (mw *HertzJWTMiddleware) ParseTokenString(token string) (*jwt.Token, error) + func (mw *HertzJWTMiddleware) RefreshHandler(ctx context.Context, c *app.RequestContext) + func (mw *HertzJWTMiddleware) RefreshToken(ctx context.Context, c *app.RequestContext) (string, time.Time, error) + func (mw *HertzJWTMiddleware) TokenGenerator(data interface{}) (string, time.Time, error) + type MapClaims map[string]interface + func ExtractClaims(ctx context.Context, c *app.RequestContext) MapClaims + func ExtractClaimsFromToken(token *jwt.Token) MapClaims