middleware

package
v0.7.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2026 License: BSD-2-Clause Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewRegistrationAuthMiddleware added in v0.7.23

func NewRegistrationAuthMiddleware(cfg *model.Cfg, log *logger.Log) (gin.HandlerFunc, error)

NewRegistrationAuthMiddleware creates middleware for protecting POST /register.

Modes:

  • open: no auth required
  • static: expects a fixed bearer token loaded from file
  • jwt: expects a signed JWT validated against configured issuer/audience/JWKS

Future option (not implemented): external introspection.

Types

type RateLimitConfig

type RateLimitConfig struct {
	TokenRequestsPerMinute     int
	TokenBurst                 int
	AuthorizeRequestsPerMinute int
	AuthorizeBurst             int
	RegisterRequestsPerMinute  int
	RegisterBurst              int
}

RateLimitConfig holds configuration for different endpoint rate limits

func DefaultRateLimitConfig

func DefaultRateLimitConfig() *RateLimitConfig

DefaultRateLimitConfig returns sensible default rate limit values

type RateLimiter

type RateLimiter struct {
	// contains filtered or unexported fields
}

RateLimiter implements a token bucket rate limiter per client IP

func NewRateLimiter

func NewRateLimiter(requestsPerMinute int, burst int) *RateLimiter

NewRateLimiter creates a new rate limiter with the specified requests per minute and burst size

func (*RateLimiter) Middleware

func (rl *RateLimiter) Middleware() gin.HandlerFunc

Middleware returns a Gin middleware handler that enforces rate limiting

type RegistrationAuthValidator added in v0.7.23

type RegistrationAuthValidator interface {
	Validate(ctx context.Context, token string) error
}

RegistrationAuthValidator validates initial access tokens for dynamic client registration.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL