refactor(account): 统一账号管理API、完善权限检查和操作审计
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m17s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m17s
- 合并 customer_account 和 shop_account 路由到统一的 account 接口 - 新增统一认证接口 (auth handler) - 实现越权防护中间件和权限检查工具函数 - 新增操作审计日志模型和服务 - 更新数据库迁移 (版本 39: account_operation_log 表) - 补充集成测试覆盖权限检查和审计日志场景
This commit is contained in:
@@ -4,17 +4,12 @@ import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
|
||||
"github.com/break/junhong_cmp_fiber/internal/bootstrap"
|
||||
"github.com/break/junhong_cmp_fiber/internal/model/dto"
|
||||
"github.com/break/junhong_cmp_fiber/pkg/openapi"
|
||||
)
|
||||
|
||||
// RegisterH5Routes 注册H5相关路由
|
||||
func RegisterH5Routes(router fiber.Router, handlers *bootstrap.Handlers, middlewares *bootstrap.Middlewares, doc *openapi.Generator, basePath string) {
|
||||
if handlers.H5Auth != nil {
|
||||
registerH5AuthRoutes(router, handlers.H5Auth, middlewares.H5Auth, doc, basePath)
|
||||
}
|
||||
|
||||
// 需要认证的路由组
|
||||
// 认证路由已迁移到 /api/auth,参见 RegisterAuthRoutes
|
||||
authGroup := router.Group("", middlewares.H5Auth)
|
||||
|
||||
if handlers.H5Order != nil {
|
||||
@@ -27,55 +22,3 @@ func RegisterH5Routes(router fiber.Router, handlers *bootstrap.Handlers, middlew
|
||||
registerH5EnterpriseDeviceRoutes(authGroup, handlers.EnterpriseDeviceH5, doc, basePath)
|
||||
}
|
||||
}
|
||||
|
||||
func registerH5AuthRoutes(router fiber.Router, handler interface{}, authMiddleware fiber.Handler, doc *openapi.Generator, basePath string) {
|
||||
h := handler.(interface {
|
||||
Login(c *fiber.Ctx) error
|
||||
Logout(c *fiber.Ctx) error
|
||||
RefreshToken(c *fiber.Ctx) error
|
||||
GetMe(c *fiber.Ctx) error
|
||||
ChangePassword(c *fiber.Ctx) error
|
||||
})
|
||||
|
||||
Register(router, doc, basePath, "POST", "/login", h.Login, RouteSpec{
|
||||
Summary: "H5 登录",
|
||||
Tags: []string{"H5 认证"},
|
||||
Input: new(dto.LoginRequest),
|
||||
Output: new(dto.LoginResponse),
|
||||
Auth: false,
|
||||
})
|
||||
|
||||
Register(router, doc, basePath, "POST", "/refresh-token", h.RefreshToken, RouteSpec{
|
||||
Summary: "刷新 Token",
|
||||
Tags: []string{"H5 认证"},
|
||||
Input: new(dto.RefreshTokenRequest),
|
||||
Output: new(dto.RefreshTokenResponse),
|
||||
Auth: false,
|
||||
})
|
||||
|
||||
authGroup := router.Group("", authMiddleware)
|
||||
|
||||
Register(authGroup, doc, basePath, "POST", "/logout", h.Logout, RouteSpec{
|
||||
Summary: "登出",
|
||||
Tags: []string{"H5 认证"},
|
||||
Input: nil,
|
||||
Output: nil,
|
||||
Auth: true,
|
||||
})
|
||||
|
||||
Register(authGroup, doc, basePath, "GET", "/me", h.GetMe, RouteSpec{
|
||||
Summary: "获取当前用户信息",
|
||||
Tags: []string{"H5 认证"},
|
||||
Input: nil,
|
||||
Output: new(dto.UserInfo),
|
||||
Auth: true,
|
||||
})
|
||||
|
||||
Register(authGroup, doc, basePath, "PUT", "/password", h.ChangePassword, RouteSpec{
|
||||
Summary: "修改密码",
|
||||
Tags: []string{"H5 认证"},
|
||||
Input: new(dto.ChangePasswordRequest),
|
||||
Output: nil,
|
||||
Auth: true,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user