如何为 WSO2 的 API 发布者中的资源禁用 OAuth2?

How do I disable OAuth2 for a resource in WSO2's API Publisher?

我创建了一个简单的 API 并且我正在尝试使用 WSO2 的 API 发布者(又名 API 云)发布它。我已经完成了所有步骤,但似乎需要授权 header 才能访问我的端点。在旧文档中,它说我可以在资源级别更改 "Auth Type"。

https://docs.wso2.com/display/AM160/API+Resources

不过目前版本好像没有这个选项。我试图做到这一点,因此不需要授权 header。不幸的是,我仍然收到以下错误:

<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
    <ams:code>900902</ams:code>
    <ams:message>Missing Credentials</ams:message>
    <ams:description>Required OAuth credentials not provided</ams:description>
</ams:fault>

是否可以为我的 API 禁用身份验证?我现在的项目不需要它。

在${AM_HOME}/repository/deployment/server/synapse-configs/default/api/中打开与您的API相关的配置,并删除以下部分。

<handler class="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/>

您提到的文档来自 APIM 1.6。从 APIM 1.7 开始,APIM 团队将 API 创建过程更改为 3 步过程。它涉及 API 设计、实施和管理。我想你现在已经体验过了。在 Manage 部分的最底部,它列出了 API 的可用资源、它们的身份验证类型、允许的层级和允许的范围。

默认授权类型是应用程序和应用程序用户。如果你点击它,你会看到一个下拉菜单,你会在其中看到 "None" 作为一个选项。如果您将身份验证类型设置为 none,您将能够在不提供 OAuth 令牌的情况下调用 API。

请参阅以下屏幕截图,其中我在创建 API 时选择了不同的身份验证类型。