签入脚本
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package middleware
|
||||
|
||||
import "strings"
|
||||
|
||||
// ============================== 免登录路由白名单 ==============================
|
||||
|
||||
// publicPaths 免登录路由白名单
|
||||
//
|
||||
// 精确匹配,公开路由一律不带版本前缀;
|
||||
// 须与各注册处保持一致:auth.go 的 gmeta 标注(登录、验证码、令牌兑换)
|
||||
// 以及 router.go 中的健康检查
|
||||
var publicPaths = map[string]bool{
|
||||
"/api/login": true,
|
||||
"/api/register": true,
|
||||
"/api/captcha": true,
|
||||
"/api/oauth2/token": true, // refresh_token 兑换
|
||||
"/api/health": true, // 健康检查
|
||||
}
|
||||
|
||||
// IsPublicPath 判断是否为免登录路由
|
||||
//
|
||||
// 供身份认证与租户中间件据此放行;
|
||||
// 同时放行 OpenAPI 与 Swagger 文档路径
|
||||
func IsPublicPath(path string) bool {
|
||||
if publicPaths[path] {
|
||||
return true
|
||||
}
|
||||
// OpenAPI / Swagger 文档
|
||||
if path == "/api.json" || strings.HasPrefix(path, "/swagger") {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
Reference in New Issue
Block a user