Versions in this module Expand all Collapse all v0 v0.1.0 Nov 12, 2025 Changes in this version + var ErrAuthenticationFailed = errors.New("authentication failed") + var ErrAuthorizationFailed = errors.New("authorization check failed") + var ErrNoAuthenticator = errors.New("no authenticator configured") + var ErrNoAuthorizer = errors.New("no authorizer configured") + var ErrNoContextBuilder = errors.New("no identity context builder configured") + var ErrNoSubjectResolver = errors.New("no subject resolver configured") + var ErrNoTokenManager = errors.New("no token manager configured") + var ErrSubjectResolutionFailed = errors.New("subject resolution failed") + var ErrTokenGenerationFailed = errors.New("token generation failed") + type Auth struct + func New(config *Config) *Auth + func (a *Auth) Authorize(ctx context.Context, request *authz.AuthorizationRequest) (*authz.AuthorizationDecision, error) + func (a *Auth) CheckPermission(ctx context.Context, identity *subject.IdentityContext, permission string) (bool, error) + func (a *Auth) CheckRole(ctx context.Context, identity *subject.IdentityContext, role string) (bool, error) + func (a *Auth) GetAuthorizer() authz.Authorizer + func (a *Auth) Login(ctx context.Context, request *LoginRequest) (*LoginResponse, error) + func (a *Auth) RegisterAuthenticator(authType string, authenticator credential.Authenticator) + func (a *Auth) SetAuthorizer(authorizer authz.Authorizer) + func (a *Auth) SetIdentityContextBuilder(builder subject.IdentityContextBuilder) + func (a *Auth) SetSubjectResolver(resolver subject.SubjectResolver) + func (a *Auth) SetTokenManager(manager token.TokenManager) + func (a *Auth) Verify(ctx context.Context, request *VerifyRequest) (*VerifyResponse, error) + type Builder struct + func NewBuilder() *Builder + func (b *Builder) AddMetadata(key string, value interface{}) *Builder + func (b *Builder) Build() *Auth + func (b *Builder) DisableRefreshToken() *Builder + func (b *Builder) DisableSessionManagement() *Builder + func (b *Builder) EnableRefreshToken() *Builder + func (b *Builder) EnableSessionManagement() *Builder + func (b *Builder) SetDefaultAuthenticator(authType string) *Builder + func (b *Builder) WithAuthenticator(authType string, authenticator credential.Authenticator) *Builder + func (b *Builder) WithAuthorizer(authorizer authz.Authorizer) *Builder + func (b *Builder) WithConfig(config *Config) *Builder + func (b *Builder) WithIdentityContextBuilder(builder subject.IdentityContextBuilder) *Builder + func (b *Builder) WithSubjectResolver(resolver subject.SubjectResolver) *Builder + func (b *Builder) WithTokenManager(manager token.TokenManager) *Builder + type Config struct + DefaultAuthenticatorType string + IssueRefreshToken bool + Metadata map[string]any + SessionManagement bool + func DefaultConfig() *Config + type LoginRequest struct + Credentials credential.Credentials + Metadata map[string]any + type LoginResponse struct + AccessToken *token.Token + Identity *subject.IdentityContext + Metadata map[string]any + RefreshToken *token.Token + type VerifyRequest struct + BuildIdentityContext bool + Metadata map[string]any + Token string + type VerifyResponse struct + Claims token.Claims + Identity *subject.IdentityContext + Metadata map[string]any + Valid bool