33 lines
526 B
Go
33 lines
526 B
Go
package handlers
|
|
|
|
import (
|
|
"github.com/gofiber/fiber/v2"
|
|
"proxy-server/gateway/app"
|
|
"proxy-server/gateway/core"
|
|
)
|
|
|
|
type PermitReq struct {
|
|
Id int32 `json:"id"`
|
|
core.Permit
|
|
}
|
|
|
|
func Permit(ctx *fiber.Ctx) (err error) {
|
|
|
|
// 安全验证
|
|
var sec core.SecuredReq
|
|
if err := ctx.BodyParser(&sec); err != nil {
|
|
return err
|
|
}
|
|
|
|
// 获取请求参数
|
|
req, err := core.Decrypt[PermitReq](&sec, app.PlatformSecret)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// 保存授权配置
|
|
app.Permits.Store(req.Id, &req.Permit)
|
|
|
|
return nil
|
|
}
|