我正在尝试通过WSO2将自定义令牌发送到现有API。
同样,我有一个后端API令牌,我希望它包含在WSO2发送给该API的头文件中。
所有Google查询似乎都会显示this页面。不幸的是,这些说明假定我使用的是本地安装的WSO2云。
是否有关于如何使用本地安装执行此操作的说明?最好没有Eclipse?更优选的是在WSO2 GUI中?
谢谢!
编辑:
根据下面的答案,我取得了一些进展。从here开始,我添加了一些xml
<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="default-endpoint-seq">
<property name="Authorization" value="<valid token>" scope="transport"/>
</sequence>
然后将其添加到“流入”
下的“邮件调解政策”部分 可悲的是,我仍然被禁止。看到我对这里发生的事情只有最朦胧的想法,这可能并不奇怪。[编辑3]
现在我已经清理干净了。上面(和下面)的过程确实有效。务必将“Bearer”添加到xml ...
<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="default-endpoint-seq">
<property name="Authorization" value="Bearer <valid token>" scope="transport"/>
</sequence>
答案 0 :(得分:2)
有两种方法可以做到这一点。
1)您可以在APIM中保存后端密码。请参阅下面的文档。
设置后端端点的密码:
https://docs.wso2.com/display/AM210/Basic+Auth https://docs.wso2.com/display/AM210/Digest+Auth
加密该密码:
https://docs.wso2.com/display/AM210/Encrypting+Secure+Endpoint+Passwords
2)您可以在请求中发送后端令牌,让APIM将其传递给后端。您可以创建这样的序列并附加到API。
<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="default-endpoint-seq">
<property name="Authorization" expression="$trp:BackendToken" scope="transport"/>
</sequence>
现在,在您的请求中,您需要发送一个这样的标题。
BackendToken: Bearer <Backend_Token>
然后它将转换到序列内部的下方并发送到后端。
Authorization: Bearer <Backend_Token>
有关详细信息,请参阅以下链接。
https://docs.wso2.com/display/AM210/Adding+Mediation+Extensions