WSO2 将 API 上下文添加到 headers
WSO2 add API context to headers
我在 WSO2 实例后面有几个 API,每个都有自己的上下文(“/api-1/”、“/api-2/”、...)
我想将此上下文字符串动态添加到 Http header(无需在 per-API 基础上对其进行硬编码)。
因此,例如:
<sequence name="WSO2AM--Ext--In">
<header name="X-Script-Name"
scope="transport" expression="get-property('', '')"/>
</sequence>
有没有可以用来实现这一目标的表达式?还是我应该求助于创建一个 per-API 调解器来包含它?
编辑:
我曾尝试使用 url 正则表达式,希望它能将 {context}
视为 uri 变量的一部分,但它似乎并没有这样做:
<header name="X-Script-Name" scope="transport" expression="uri.var.context"/>
你之前定义过"uri.var.context"吗?它不是要使用的内置变量。
您可以阅读 "To" header 并使用 xpath 应用字符串操作,以便获取上下文。
编辑;
您可以从 jwt token 读取 API 元数据(上下文、版本等)。从传输 header 获取 jwt 令牌并对其进行操作。
我在 WSO2 实例后面有几个 API,每个都有自己的上下文(“/api-1/”、“/api-2/”、...) 我想将此上下文字符串动态添加到 Http header(无需在 per-API 基础上对其进行硬编码)。
因此,例如:
<sequence name="WSO2AM--Ext--In">
<header name="X-Script-Name"
scope="transport" expression="get-property('', '')"/>
</sequence>
有没有可以用来实现这一目标的表达式?还是我应该求助于创建一个 per-API 调解器来包含它?
编辑:
我曾尝试使用 url 正则表达式,希望它能将 {context}
视为 uri 变量的一部分,但它似乎并没有这样做:
<header name="X-Script-Name" scope="transport" expression="uri.var.context"/>
你之前定义过"uri.var.context"吗?它不是要使用的内置变量。 您可以阅读 "To" header 并使用 xpath 应用字符串操作,以便获取上下文。
编辑;
您可以从 jwt token 读取 API 元数据(上下文、版本等)。从传输 header 获取 jwt 令牌并对其进行操作。