Browse Source

feature:添加配置支持 swagger 请求不鉴权

liuyaqi 3 years ago
parent
commit
935e9b8ced
3 changed files with 20 additions and 9 deletions
  1. 5 0
      opms_parent/main.go
  2. 6 0
      opms_parent/swaggerui/readme.md
  3. 9 9
      opms_parent/swaggerui/swagger.go

+ 5 - 0
opms_parent/main.go

@@ -79,6 +79,11 @@ var AuthExcludePaths = []string{
 
 // 处理Auth
 func handleAuth(ctx context.Context, req *protocol.Message, token string) error {
+	if g.Config().GetBool("setting.fake-auth-for-swagger") {
+		req.Metadata["userInfo"] = `{"createTime":796,"data":{"id":1,"uuid":"","userName":"admin","nickName":"系统管理员","deptId":1,"roles":""},"refreshTime":43200796,"tenant":"default","userKey":"admin","uuid":"9b7ac56a5b2b4d12e52277e9601dbaf1"}`
+		return nil
+	}
+
 	return micro_srv.HandleAuth(ctx, req, token, AuthExcludePaths)
 
 }

+ 6 - 0
opms_parent/swaggerui/readme.md

@@ -17,3 +17,9 @@
     `swagger = true`
 
     启动服务即可在 18080 端口访问到 swagger 文档
+
+- 如果需要对使用 swaggerui 发出的请求做不鉴权处理,在配置文件的 setting 中添加
+
+    `fake-auth-for-swagger = true`
+
+    启用这个配置后,对所有请求直接设置了一个固定的 userinfo,不再做鉴权处理

+ 9 - 9
opms_parent/swaggerui/swagger.go

@@ -91,15 +91,15 @@ func newPath(m pathModel) interface{} {
 						},
 					},
 				},
-				"responses": map[string]interface{}{
-					"200": map[string]interface{}{
-						"description": "请求成功",
-						"content": map[string]interface{}{
-							"application/json": map[string]interface{}{
-								"examples": map[string]interface{}{
-									"success": map[string]interface{}{
-										"$ref": "#/components/examples/success",
-									},
+			},
+			"responses": map[string]interface{}{
+				"200": map[string]interface{}{
+					"description": "请求成功",
+					"content": map[string]interface{}{
+						"application/json": map[string]interface{}{
+							"examples": map[string]interface{}{
+								"success": map[string]interface{}{
+									"$ref": "#/components/examples/success",
 								},
 							},
 						},