【发布时间】:2016-02-02 17:07:15
【问题描述】:
我正在尝试为 WSO2 api 管理器设置一个集群,我正在关注 https://docs.wso2.com/display/CLUSTER44x/Clustering+API+Manager+1.10.0
我为每个组件使用单独的虚拟机,目前在我的设置中我能够
- 使用在网关中发布的发布者发布 api(在日志中可见)
- 从商店订阅此 API 并生成密钥
但是,当我尝试使用生成的密钥访问此 api 时,我得到以下响应
<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode xmlns:axis2ns2="http://schemas.xmlsoap.org/soap/envelope/">axis2ns2:Client</faultcode>
<faultstring>Authentication Failure</faultstring>
<detail>Error while accessing backend services for API key validation</detail>
</soapenv:Fault>
在网关日志中,我只能看到以下行。日志中没有更多详细信息
TID: [-1234] [] [2016-02-02 16:55:58,288] WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticat
ionHandler} - API authentication failure due to Unclassified Authentication Failure {org.wso2.carbon.apimgt.gat
eway.handlers.security.APIAuthenticationHandler}
请帮我解决这个问题。
【问题讨论】:
-
如果你故意传递一个错误的 Oauth 令牌会发生什么?它至少会像预期的那样失败吗?还有你的 Swagger 是什么样的?
-
我得到了同样的错误。但是,如果我为密钥管理器提供了错误的 IP,我会收到不同的错误,比如无法连接等。
-
我们在使用集群网关时遇到了类似的问题。我们的(幼稚)解决方案是仅配置每个网关以使用其本地 IP 来解决密钥管理器请求,尽管您也应该能够正确地做到这一点并配置专用的密钥管理器节点......只要确保您的网关可以访问它们.尝试:从您的网关到它尝试访问的密钥管理器的 URL 的 cURL,看看这是否有问题。
标签: wso2 wso2-am api-manager