瀏覽代碼

fix: 从token获取租户属性放到请求头中

sunyue 2 年之前
父節點
當前提交
9d73149f62
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      src/main/java/com/inspur/smsb/gateway/filter/WebFluxUserRequestInfoFilter.java

+ 4 - 0
src/main/java/com/inspur/smsb/gateway/filter/WebFluxUserRequestInfoFilter.java

@@ -91,10 +91,14 @@ public class WebFluxUserRequestInfoFilter implements GlobalFilter {
                     //just skip this adapter
                     return chain.filter(exchange);
                 }
+                //租户转换类型
+                List<String> tenantMap = (List<String>) jwsObject.getPayload().toJSONObject().get("tenant");
+                String tenant = tenantMap.isEmpty()? "unknown" : tenantMap.get(0);
                 ServerHttpRequest request = exchange.getRequest()
                     .mutate()
                     .header("userId", String.valueOf(jwsObject.getPayload().toJSONObject().get("sub")))
                     .header("userName", String.valueOf(jwsObject.getPayload().toJSONObject().get("preferred_username")))
+                    .header("tenant", String.valueOf(tenant))
                     .build();
                 // 把新的 exchange 放回到过滤链
                 return chain.filter(exchange.mutate().request(request).build());