Documentation
¶
Index ¶
- Constants
- func AddUserInfo(userService *userSvc.Service) gin.HandlerFunc
- func Auth(secret string) gin.HandlerFunc
- func AuthWithOptions(opts AuthOption) gin.HandlerFunc
- func ClearDashboardCookie(c *gin.Context)
- func DashboardAuth(secret string, users UserProvider) gin.HandlerFunc
- func GetClientIP(c *gin.Context) string
- func IPRateLimit(opts IPRateLimitOption) gin.HandlerFunc
- func IsPrivateIP(ip string) bool
- func RateLimit(opts RateLimitOption) gin.HandlerFunc
- func RequestID() gin.HandlerFunc
- func RequireAdmin(userService *userSvc.Service) gin.HandlerFunc
- func RequireRole(userService *userSvc.Service, requiredRole string) gin.HandlerFunc
- func SetDashboardCookie(c *gin.Context, token string)
- type AuthOption
- type IPRateLimitOption
- type RateLimitOption
- type UserProvider
Constants ¶
View Source
const HeaderRequestID = "X-Request-ID"
Variables ¶
This section is empty.
Functions ¶
func AddUserInfo ¶
func AddUserInfo(userService *userSvc.Service) gin.HandlerFunc
func Auth ¶
func Auth(secret string) gin.HandlerFunc
func AuthWithOptions ¶
func AuthWithOptions(opts AuthOption) gin.HandlerFunc
func ClearDashboardCookie ¶
func DashboardAuth ¶
func DashboardAuth(secret string, users UserProvider) gin.HandlerFunc
func GetClientIP ¶
func IPRateLimit ¶
func IPRateLimit(opts IPRateLimitOption) gin.HandlerFunc
IPRateLimit reforça limites por IP para rotas públicas.
func IsPrivateIP ¶
func RateLimit ¶
func RateLimit(opts RateLimitOption) gin.HandlerFunc
RateLimit aplica contagem de requisições por token usando Redis.
func RequestID ¶
func RequestID() gin.HandlerFunc
func RequireAdmin ¶
func RequireAdmin(userService *userSvc.Service) gin.HandlerFunc
func RequireRole ¶
func RequireRole(userService *userSvc.Service, requiredRole string) gin.HandlerFunc
func SetDashboardCookie ¶
Types ¶
type AuthOption ¶
type AuthOption struct {
JWTSecret string
APITokenService *apiTokenSvc.Service
InstanceRepo storage.InstanceRepository
}
AuthOption configura o middleware de autenticação.
type IPRateLimitOption ¶
Click to show internal directories.
Click to hide internal directories.