我正在配置我们的API管理器,但遇到麻烦通过OAuth进行身份验证,似乎是API密钥管理器的一个问题。我还没有挖到它,但它是否带有API管理器(正如我所假设的)或者这是一个单独的安装吗?
答案 0 :(得分:4)
在亚马逊托管的计算机上使用wso2 api管理器时遇到了同样的问题,结果发现Thrift工作不正常,因为多播和广播存在一些问题。
我为使其工作而做的是从ThriftClient切换到WSClient。如果你有大量的请求进入,那么Thrift是来自wso2的推荐解决方案,但在任何“正常”情况下你都不会在thrift和WS之间有任何区别。
以下是切换方式:
启动时可能会出现一些警告,但在跳到不起作用的结论之前先试试。
希望它有所帮助!
答案 1 :(得分:0)
您可以在分布式设置中使用APIM管理器产品作为密钥管理器,网关,商店,发布者......但所有功能都在一个分发中...... 浏览documentation以获取更多指南
答案 2 :(得分:0)
我遇到了同样的问题。一切都是在我创建自己的jks时开始的,以便在没有自签名证书的情况下使用SSL。我成功创建了jks并在碳文件中更改了它。当我启动服务器时,一切似乎都没问题;但是当我使用SOAPUI测试API调用时,我得到了这个(在api管理器的日志中):
APIAuthenticationHandler API authentication failure due to Unclassified Authentication Failure
我开始通过在log4j.properties文件中启用调试级别来挖掘问题是什么,然后再次尝试使用SOAPUI进行测试,我得到了:
APISecurityException: Could not connect to <my api ip address> on port 10397
然后,我阅读了OneMuppet的评论,我检查了该文件,发现Thrift配置有一个主机选项,所以我取消注释:
<KeyValidatorClientType>ThriftClient</KeyValidatorClientType>
<ThriftClientPort>10397</ThriftClientPort>
<ThriftClientConnectionTimeOut>10000</ThriftClientConnectionTimeOut>
<ThriftServerPort>10397</ThriftServerPort>
This Line --> <ThriftServerHost>localhost</ThriftServerHost>
<EnableThriftServer>true</EnableThriftServer>
保存,重启服务器,一切正常。
答案 3 :(得分:0)
安装后出现以下相同问题,当我尝试调用api服务时,它抛出以下错误: 900900访问后端服务进行API密钥验证时出现未分类的身份验证失败错误
经过一些随机检查后,我在/ repository / conf / axis2中看到了axis2.xml文件,它引用的是另一个ip。我将这些IP更改为我的本地IP,然后重新启动。该问题现已解决。
答案 4 :(得分:0)
我面临着同样的问题。当我尝试按照此处给出的步骤在另一台计算机上将API Manager设置为API网关时,
https://docs.wso2.com/display/AM250/Publish+through+Multiple+API+Gateways
设置完成后,当我尝试使用此网关URL时,得到以下响应,
{"fault":{"code":900900,"message":"Unclassified Authentication Failure","description":"Error while accessing backend services for API key validation"}}
在<api manager install dir>\repository\conf\api-manager.xml
上从ThriftClient将KeyValidatorClientType类型的值更改为WSClient
它开始正常工作。而且我得到了预期的答复。
答案 5 :(得分:-1)
如果您更改了管理员密码,则还必须使用新密码更新repository / conf / api-manager.xml文件。我改变的两个地方(到目前为止)是:
<AuthManager>
和
<APIKeyManager>
但该文件中还有其他管理员用户名。毫无疑问,我会找到他们......