| 1234567891011121314151617181920212223242526272829303132333435 |
- package middleware
- import (
- "github.com/Wei-Shaw/sub2api/internal/config"
- "github.com/Wei-Shaw/sub2api/internal/service"
- "github.com/gin-gonic/gin"
- "github.com/google/wire"
- )
- // JWTAuthMiddleware JWT 认证中间件类型
- type JWTAuthMiddleware gin.HandlerFunc
- // OptionalJWTAuthMiddleware 可选 JWT 认证中间件类型:匿名放行,带 token 严格校验
- type OptionalJWTAuthMiddleware gin.HandlerFunc
- // AdminAuthMiddleware 管理员认证中间件类型
- type AdminAuthMiddleware gin.HandlerFunc
- // APIKeyAuthMiddleware API Key 认证中间件类型
- type APIKeyAuthMiddleware gin.HandlerFunc
- // ProviderSet 中间件层的依赖注入
- var ProviderSet = wire.NewSet(
- NewJWTAuthMiddleware,
- NewOptionalJWTAuthMiddleware,
- NewAdminAuthMiddleware,
- ProvideAPIKeyAuthMiddleware,
- NewAuditLogMiddleware,
- NewStepUpAuthMiddleware,
- )
- // Wire uses an explicit dependency while direct callers may omit tiered routing.
- func ProvideAPIKeyAuthMiddleware(apiKeys *service.APIKeyService, subscriptions *service.SubscriptionService, cfg *config.Config, tier *service.TieredRoutingService) APIKeyAuthMiddleware {
- return NewAPIKeyAuthMiddleware(apiKeys, subscriptions, cfg, tier)
- }
|