WSO2 API管理器使用授权承载令牌调用现有API时出现问题

WSO2 API管理器使用授权承载令牌调用现有API时出现问题,wso2,authorization,wso2-am,bearer-token,Wso2,Authorization,Wso2 Am,Bearer Token,我们正在尝试使用API管理器(1.10)调用已经使用授权头令牌的现有API(POST)。我做了一些事情,包括根据一篇题为“”的文章使用中介,但这似乎不起作用 最后,我尝试将“Auth Type”设置为“None”,根据文档,这应该只是将API调用直接传递到后端(包括授权头)。这也没用。该调用访问后端服务,但似乎丢失了授权标头,因此抛出了400错误(与我忽略标头并直接使用SoapUI调用后端api时得到的错误相同) 任何帮助都将不胜感激 如果您希望在API网关上进行授权(oauth令牌验证),并且

我们正在尝试使用API管理器(1.10)调用已经使用授权头令牌的现有API(POST)。我做了一些事情,包括根据一篇题为“”的文章使用中介,但这似乎不起作用

最后,我尝试将“Auth Type”设置为“None”,根据文档,这应该只是将API调用直接传递到后端(包括授权头)。这也没用。该调用访问后端服务,但似乎丢失了授权标头,因此抛出了400错误(与我忽略标头并直接使用SoapUI调用后端api时得到的错误相同)

任何帮助都将不胜感激

  • 如果您希望在API网关上进行授权(oauth令牌验证),并且希望将自定义授权头传递到后端,则需要遵循文档[1]中描述的设置

  • 如果要通过将授权类型[2]设置为“无”来禁用API网关级别的授权,并希望通过API网关将授权头(自定义)从客户端传递到后端,则需要执行以下步骤

  • 默认情况下,API网关将删除“Authorization”标头,而不将其发送到后端[3]。要通过API网关将授权头发送到后端,请在
    /repository/conf/API manager.xml
    中取消注释以下属性并将其值设置为“false”,然后

    <RemoveOAuthHeadersFromOutMessage>false</RemoveOAuthHeadersFromOutMessage>
    
    false
    
    [1]
    [2]

    [3]

    如果您按照说明操作,它应该可以工作

    我已经在几个项目中实现了这一点,我可以证明它确实有效


    您可以通过配置log4j.properties打开wire日志,检查wire日志并查看发生了什么。

    您可以共享API配置,并尝试使用TCPMON捕获消息吗?不确定如何共享API配置。它是rest,2个formdata参数,后台使用的头授权,authtype为None。以下是TCPMON:6d{“error”:“server_error”,“error_description”:“处理您的请求时出错。请重试。”}0BTW-此错误来自后端服务,因此看起来请求正在访问,但缺少授权标头。您遇到了什么问题,当您遵循文档时?显然是用户错误:-)之前,我在Soap UI中将自定义字段作为表单数据发送,而不是在API管理器中定义的标题中发送。一旦我把它放进头球,它就起作用了。所以我有办法让它工作。但是,我仍然希望它能够工作,我可以通过一个API调用传递给使用授权头的后端服务。