Versions in this module Expand all Collapse all v0 v0.1.1 Dec 13, 2024 v0.1.0 Dec 13, 2024 Changes in this version + var ErrBearerTokenMissing = securityv1.ErrorAuthErrorReasonBearerTokenMissing("bearer token missing") + var ErrGetKeyFailed = securityv1.ErrorAuthErrorReasonGetKeyFailed("get key failed") + var ErrInvalidAudience = securityv1.ErrorAuthErrorReasonInvalidAudience("invalid audience") + var ErrInvalidClaims = securityv1.ErrorAuthErrorReasonInvalidClaims("invalid Claims") + var ErrInvalidExpiration = securityv1.ErrorAuthErrorReasonInvalidExpiration("invalid expiration") + var ErrInvalidIssuer = securityv1.ErrorAuthErrorReasonInvalidIssuer("invalid issuer") + var ErrInvalidSubject = securityv1.ErrorAuthErrorReasonInvalidSubject("invalid subject") + var ErrInvalidToken = securityv1.ErrorAuthErrorReasonBearerTokenMissing("invalid bearer token") + var ErrMissingKeyFunc = securityv1.ErrorAuthErrorReasonMissingKeyFunc("missing key function") + var ErrSignTokenFailed = securityv1.ErrorAuthErrorReasonSignTokenFailed("sign token failed") + var ErrTokenExpired = securityv1.ErrorAuthErrorReasonTokenExpired("token expired") + var ErrTokenMalformed = securityv1.ErrorAuthErrorReasonBearerTokenMissing("token malformed") + var ErrTokenNotFound = securityv1.ErrorAuthErrorReasonTokenNotFound("token not found") + var ErrTokenNotValidYet = securityv1.ErrorAuthErrorReasonTokenExpired("token not valid yet") + var ErrTokenSignatureInvalid = securityv1.ErrorAuthErrorReasonSignTokenFailed("token signature invalid") + var ErrUnsupportedSigningMethod = securityv1.ErrorAuthErrorReasonUnsupportedSigningMethod("unsupported signing method") + func ClaimsToJwtClaims(raw security.Claims) jwtv5.Claims + func GetKeyFunc(key string) func(token *jwtv5.Token) (any, error) + func GetKeyFuncWithAlg(alg, key string) func(token *jwtv5.Token) (any, error) + func GetSigningMethodFromAlg(algorithm string) jwtv5.SigningMethod + func MapToClaims(rawClaims jwtv5.MapClaims, extraKeys ...string) (security.Claims, error) + func NewAuthenticator(cfg *configv1.Security, ss ...Setting) (security.Authenticator, error) + func RegisteredToClaims(rawClaims *jwtv5.RegisteredClaims) (security.Claims, error) + func ToClaims(rawClaims jwtv5.Claims, extraKeys ...string) (security.Claims, error) + type Authenticator struct + func (obj *Authenticator) ApplyDefaults() error + func (obj *Authenticator) Authenticate(ctx context.Context, tokenStr string) (bool, error) + func (obj *Authenticator) AuthenticateContext(ctx context.Context, tokenType security.TokenType) (bool, error) + func (obj *Authenticator) AuthenticateToken(ctx context.Context, tokenStr string) (security.Claims, error) + func (obj *Authenticator) AuthenticateTokenContext(ctx context.Context, tokenType security.TokenType) (security.Claims, error) + func (obj *Authenticator) Close(ctx context.Context) error + func (obj *Authenticator) CreateToken(ctx context.Context, claims security.Claims) (string, error) + func (obj *Authenticator) CreateTokenContext(ctx context.Context, tokenType security.TokenType, claims security.Claims) (context.Context, error) + func (obj *Authenticator) DestroyToken(ctx context.Context, tokenStr string) error + func (obj *Authenticator) DestroyTokenContext(ctx context.Context, token security.TokenType) error + func (obj *Authenticator) WithConfig(config *configv1.AuthNConfig_JWTConfig) error + type SecurityClaims struct + Extra map[string]string + func (s *SecurityClaims) GetAudience() []string + func (s *SecurityClaims) GetExpiration() time.Time + func (s *SecurityClaims) GetExtra() map[string]string + func (s *SecurityClaims) GetIssuedAt() time.Time + func (s *SecurityClaims) GetIssuer() string + func (s *SecurityClaims) GetJWTID() string + func (s *SecurityClaims) GetNotBefore() time.Time + func (s *SecurityClaims) GetScopes() map[string]bool + func (s *SecurityClaims) GetSubject() string + type Setting = func(*Authenticator) + func WithCache(cache security.TokenCacheService) Setting + func WithExtraKeys(extraKeys ...string) Setting + func WithKeyFunc(keyFunc func(token *jwtv5.Token) (any, error)) Setting + func WithScheme(scheme security.Scheme) Setting + func WithScoped(scoped bool) Setting + func WithSigningMethod(signingMethod jwtv5.SigningMethod) Setting