【问题标题】:Why does WSO2 API Manager tryit feature fail?为什么 WSO2 API Manager tryit 功能会失败?
【发布时间】:2014-01-24 03:59:04
【问题描述】:

我的配置如下: 1 台服务器,具有单独的发布者 (9446) 和存储区(端口 9447)。两者都配置了共享的 gov/config 注册表(请注意,发布者是相同的,除了远程实例 url 的 localhost:9446/registry:

<dbConfig name="govregistry">
    <dataSource>jdbc/WSO2SHAREDCONREG_DB</dataSource>
</dbConfig>
<remoteInstance url="https://localhost:9447/registry">
    <id>gov</id>
    <dbConfig>govregistry</dbConfig>
    <readOnly>false</readOnly>
    <enableCache>true</enableCache>
    <registryRoot>/</registryRoot>
</remoteInstance>
<mount path="/_system/governance" overwrite="true">
    <instanceId>gov</instanceId>
    <targetPath>/_system/governance</targetPath>
</mount>
<mount path="/_system/config" overwrite="true">
    <instanceId>gov</instanceId>
    <targetPath>/_system/nodes</targetPath>
</mount>

我在不同的服务器上有一个网关和密钥管理器。它们都部署到不同的目录,WSO2 文档没有说要为 registry.xml 文件做任何额外的事情,所以它们看起来像:

<currentDBConfig>wso2registry</currentDBConfig>
<dbConfig name="wso2registry">
    <dataSource>jdbc/WSO2CarbonDB</dataSource>
</dbConfig>

当 API 发布,然后我尝试使用“试用”功能时,我收到以下错误(无论 API 是否设置为需要令牌)... 此错误在网关服务器上:

[2014-01-23 21:54:31,111] ERROR - APIAuthenticationHandler API authentication failure
org.wso2.carbon.apimgt.gateway.handlers.security.APISecurityException: Access failure for API: /newphoneverify, version: 1.0.0 with key: null

我是否还需要做一些额外的事情,例如在密钥管理器和网关上设置治理和配置注册表共享?

【问题讨论】:

    标签: wso2 wso2-am


    【解决方案1】:

    如果 API 的 OPTIONS 动词未使用“无”身份验证类型启用,则会发生这种情况。检查 [1]。

    [1]https://wso2.org/jira/browse/APIMANAGER-1819

    【讨论】:

    • 遗憾的是,我的 API 已经为 OPTIONS 类型正确设置。它目前并且一直设置为“无”,并限制“无限”。所以 JIRA,虽然错误日志与我的问题相匹配,但它似乎并不相同。记录 JIRA 问题是否正确?或者将问题发布到 Stackoverflow?
    • 如果是错误,则使用 Jira。 Stackoverflow 可用于从社区获得帮助。我可以知道您的 APIM 版本吗?请向您的 API 发送 curl 请求以检查 OPTIONS 方法的响应。例如:'curl -v -X localhost:8280/api。您收到的响应信息是什么?
    • 我得到一个 html 页面...我会添加一个答案。
    • 谢谢。在 1.6.0 中,我们做了一些 CORS 改进。所以你需要在 api-manager.xml 中配置你的 API Store 地址。这里需要在 Access-Control-Allow-Origin 参数中配置 store 的 http 和 https 地址。 docs.wso2.org/display/AM160/Adding+Documentation+Using+Swagger。然后重新启动服务器。在那之后,我们需要做的第一件事是让 OPTIONS 调用与成功响应一起工作。让我知道此更改后的 OPTIONS 调用响应。
    • 将尝试使用该文档中包含的 twitter 示例...将作为答案发布。
    【解决方案2】:

    我也有同样的问题:

    Swagger UI 不起作用并返回与上面相同的屏幕截图,但如果我使用 chrome/postman,API 会返回正确的值,所以只是 swagger UI 有问题,我在 API 管理器和商店的外部名称与内部名称不同,apache 代理传递请求。

    我已经配置了 api-manager.xml 并且 API 没有授权(全部设置为无)真的不知道如何修复它。

    【讨论】:

    • 是的,我也没有......我已经停止关注这一点,会带一个比我聪明的人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多