fix: 管理端所有认证接口统一使用 /api/v1/admin/auth/* 路由
后端: - 新增管理端认证路由组 /api/v1/admin/auth/(JWT + admin 角色双重检查) - 管理端登出:POST /api/v1/admin/auth/logout - 管理端获取个人信息:GET /api/v1/admin/auth/profile - 管理端更新个人信息:PUT /api/v1/admin/auth/profile - 管理端修改密码:PUT /api/v1/admin/auth/password 前端: - admin/src/api/auth.js 所有接口全部改为 /api/v1/admin/auth/* - 登出和获取个人信息不再使用前台的 /api/v1/auth/ 路由 Made-with: Cursor
This commit is contained in:
@@ -2,6 +2,8 @@ package auth
|
||||
|
||||
import (
|
||||
"github.com/echochat/backend/app/auth/controller"
|
||||
"github.com/echochat/backend/app/constants"
|
||||
"github.com/echochat/backend/pkg/middleware"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
@@ -14,6 +16,8 @@ func RegisterRoutes(
|
||||
adminCtrl *controller.AdminAuthController,
|
||||
authMiddleware gin.HandlerFunc,
|
||||
) {
|
||||
// ======================== 前台用户端 ========================
|
||||
|
||||
// 前台公开路由(无需认证)
|
||||
public := r.Group("/api/v1/auth")
|
||||
{
|
||||
@@ -32,9 +36,22 @@ func RegisterRoutes(
|
||||
authed.PUT("/password", ctrl.ChangePassword)
|
||||
}
|
||||
|
||||
// 后台管理认证路由(无需认证,登录后在 Service 层检查管理员角色)
|
||||
admin := r.Group("/api/v1/admin/auth")
|
||||
// ======================== 后台管理端 ========================
|
||||
|
||||
// 管理端公开路由(无需认证,登录后在 Service 层检查管理员角色)
|
||||
adminPublic := r.Group("/api/v1/admin/auth")
|
||||
{
|
||||
admin.POST("/login", adminCtrl.AdminLogin)
|
||||
adminPublic.POST("/login", adminCtrl.AdminLogin)
|
||||
}
|
||||
|
||||
// 管理端需认证路由(JWT + admin 角色双重检查)
|
||||
// 复用 AuthController handler,JWT 中的 client_type=admin 保证 Redis 正确隔离
|
||||
adminAuthed := r.Group("/api/v1/admin/auth")
|
||||
adminAuthed.Use(authMiddleware, middleware.RequireRole(constants.RoleAdmin, constants.RoleSuperAdmin))
|
||||
{
|
||||
adminAuthed.POST("/logout", ctrl.Logout)
|
||||
adminAuthed.GET("/profile", ctrl.GetProfile)
|
||||
adminAuthed.PUT("/profile", ctrl.UpdateProfile)
|
||||
adminAuthed.PUT("/password", ctrl.ChangePassword)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user