refactor: enhance API security with read-only token authentication and improved rate limiting

This commit is contained in:
CaIon
2026-02-06 21:26:26 +08:00
parent 04dd761880
commit d814d62e2f
6 changed files with 119 additions and 153 deletions

View File

@@ -50,7 +50,6 @@ func SetApiRouter(router *gin.Engine) {
// Universal secure verification routes
apiRouter.POST("/verify", middleware.UserAuth(), middleware.CriticalRateLimit(), controller.UniversalVerify)
apiRouter.GET("/verify/status", middleware.UserAuth(), controller.GetVerificationStatus)
userRoute := apiRouter.Group("/user")
{
@@ -247,10 +246,10 @@ func SetApiRouter(router *gin.Engine) {
}
usageRoute := apiRouter.Group("/usage")
usageRoute.Use(middleware.CriticalRateLimit())
usageRoute.Use(middleware.CORS(), middleware.CriticalRateLimit())
{
tokenUsageRoute := usageRoute.Group("/token")
tokenUsageRoute.Use(middleware.TokenAuth())
tokenUsageRoute.Use(middleware.TokenAuthReadOnly())
{
tokenUsageRoute.GET("/", controller.GetTokenUsage)
}
@@ -275,15 +274,15 @@ func SetApiRouter(router *gin.Engine) {
logRoute.GET("/channel_affinity_usage_cache", middleware.AdminAuth(), controller.GetChannelAffinityUsageCacheStats)
logRoute.GET("/search", middleware.AdminAuth(), controller.SearchAllLogs)
logRoute.GET("/self", middleware.UserAuth(), controller.GetUserLogs)
logRoute.GET("/self/search", middleware.UserAuth(), controller.SearchUserLogs)
logRoute.GET("/self/search", middleware.UserAuth(), middleware.SearchRateLimit(), controller.SearchUserLogs)
dataRoute := apiRouter.Group("/data")
dataRoute.GET("/", middleware.AdminAuth(), controller.GetAllQuotaDates)
dataRoute.GET("/self", middleware.UserAuth(), controller.GetUserQuotaDates)
logRoute.Use(middleware.CORS())
logRoute.Use(middleware.CORS(), middleware.CriticalRateLimit())
{
logRoute.GET("/token", controller.GetLogByKey)
logRoute.GET("/token", middleware.TokenAuthReadOnly(), controller.GetLogByKey)
}
groupRoute := apiRouter.Group("/group")
groupRoute.Use(middleware.AdminAuth())