网关实现自定义接口安全检查与边缘节点连接权限验证
This commit is contained in:
32
server/web/handlers/auth.go
Normal file
32
server/web/handlers/auth.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"proxy-server/server/app"
|
||||
"proxy-server/server/core"
|
||||
)
|
||||
|
||||
type AuthReq struct {
|
||||
Port uint16 `json:"port"`
|
||||
core.Permit
|
||||
}
|
||||
|
||||
func Auth(ctx *fiber.Ctx) (err error) {
|
||||
|
||||
// 安全验证
|
||||
var sec core.SecuredReq
|
||||
if err := ctx.BodyParser(&sec); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 获取请求参数
|
||||
req, err := core.Decrypt[AuthReq](&sec, app.PlatformSecret)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 保存授权配置
|
||||
app.Permits[req.Port] = req.Permit
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user