1

我正在配置我们的 API 管理器,但在通过 OAuth 进行身份验证时遇到问题,这似乎是 API 密钥管理器的问题。我还没有深入研究它,但这是否与 API Manager 一起提供(正如我所假设的那样)或者这是一个单独的安装?

4

6 回答 6

4

在亚马逊托管机器上使用 wso2 api 管理器时,我遇到了同样的问题,结果发现 Thrift 无法正常工作,因为多播和广播存在问题。

我所做的就是从 ThriftClient 切换到 WSClient。如果您有大量请求进入,那么 Thrift 是 wso2 推荐的解决方案,但在任何“正常”情况下,thrift 和 WS 之间不会有任何区别。

以下是切换方式:

  1. 关闭 API 管理器
  2. 打开 <api manager install dir>\repository\conf\api-manager.xml
  3. 查找 ThriftClient
  4. 将此更改为 <KeyValidatorClientType>WSClient</KeyValidatorClientType>
  5. 启动 API 管理器

启动时您可能会收到一些警告,但请在得出它不起作用的结论之前尝试一下。

希望能帮助到你!

于 2014-05-07T06:27:44.090 回答
0

您可以在分布式设置中使用 APIM 管理器产品作为密钥管理器、网关、存储、发布器..但所有功能都在一个发行版中.. .. 阅读文档以获取更多指南

于 2013-04-26T06:11:27.043 回答
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"}}

将 KeyValidatorClientType 值从 ThriftClient 更改为 WSClient 后<api manager install dir>\repository\conf\api-manager.xml

它开始工作正常。我能够得到预期的回应。

于 2020-01-30T12:25:41.677 回答
0

安装后我遇到了同样的问题,当我尝试调用 api 服务时,它抛出以下错误:900900 Unclassified Authentication Failure Error while access backend services for API key validation

经过一些随机检查后,我在/repository/conf/axis2 中看到了axis2.xml 文件,它引用了一个不同的IP。我将这些 ip 更改为我的本地 ip 并重新启动。现在问题已经解决了。

于 2018-07-26T11:19:10.893 回答
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>

保存,重新启动服务器,一切都开始正常工作。

于 2016-03-04T17:15:57.993 回答
-1

如果您更改了管理员密码,那么您还必须使用新密码更新 repository/conf/api-manager.xml 文件。我改变的两个地方(到目前为止)是:

<AuthManager>

<APIKeyManager>

但该文件中还有其他管理员用户名。毫无疑问,我会去找他们......

于 2014-05-30T04:28:17.597 回答