Procházet zdrojové kódy

feat(http): 添加授权名称支持- 在 Option 结构体中新增 AuthorizationsName 字段
- 根据安全配置设置授权名称- 支持从操作安全属性中提取授权名称

gms před 2 týdny
rodič
revize
d28b28bf01

+ 4 - 1
transport/http/handler/route.go

@@ -87,8 +87,11 @@ func GetOptionByServiceDescriptor(sd *desc.ServiceDescriptor, serviceName, metho
 	// 不需要认证的
 	if len(operation.Security) == 0 {
 		option.NotAuth = true
+	} else {
+		if len(operation.Security[0].AdditionalProperties) != 0 {
+			option.AuthorizationsName = operation.Security[0].AdditionalProperties[0].Name
+		}
 	}
-
 	// 解析自定义option [操作记录]
 	customOptions := proto.GetExtension(methodOptions, ku_annotations.E_Options).(*ku_annotations.Options)
 	if customOptions.GetOperationRecord().GetEnabled() {

+ 6 - 5
transport/middleware/option.go

@@ -3,11 +3,12 @@ package middleware
 import "context"
 
 type Option struct {
-	GenHttp         bool
-	NotAuth         bool
-	OperationRecord bool
-	Path            string
-	Method          string
+	GenHttp            bool
+	NotAuth            bool
+	OperationRecord    bool
+	Path               string
+	Method             string
+	AuthorizationsName string
 }
 
 type httpOption struct{}