我创建了一个简单的API,并尝试使用WSO2的API发布商(又称API Cloud)发布它。我已经完成了所有步骤,但似乎需要一个Authorization标头来访问我的端点。在较旧的文档中,它表示我可以更改" Auth Type"在资源层面。
https://docs.wso2.com/display/AM160/API+Resources
但是,此选项似乎并不存在于当前版本中。我尝试这样做,因此不需要Authorization标头。不幸的是,我仍然收到以下错误:
<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禁用身份验证?在我的项目中,我现在不需要它。
答案 0 :(得分:9)
您提到的文件来自APIM 1.6。从APIM 1.7开始,APIM团队将API创建过程更改为3个步骤。它涉及API设计,实施和管理。我想你现在已经体验过这一点。在管理部分的最底部,它列出了API的可用资源,其身份验证类型,允许的层数和允许的范围。
默认身份验证类型是应用程序&amp;应用用户。如果你点击它,你会得到一个下拉菜单,你会看到&#34;无&#34;作为一种选择。如果将auth类型设置为none,则可以在不提供OAuth令牌的情况下调用API。
请参阅以下屏幕截图,其中我在创建API时选择了不同的Auth类型。
答案 1 :(得分:1)
在$ {AM_HOME} / repository / deployment / server / synapse-configs / default / api /中打开与API相关的配置,然后删除以下部分。
<handler class="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/>