有没有办法禁用访问apiDiscovery-1.0
功能提供的API文档端点的身份验证要求?
我在Liberty 16.0.0.4上启用了apiDiscovery-1.0
功能。
当我按预期访问/ibm/api/explorer
时,我能够看到swagger文档,但我需要进行身份验证。
我只能使用basicRegistry
中server.xml
元素中定义的凭据进行身份验证。但是,我想从我的服务器配置中消除此basicRegistry
。
答案 0 :(得分:2)
您可以在最新的Beta(https://developer.ibm.com/wasdev/downloads/liberty-profile-beta/)
中执行此操作使用该驱动程序,您只需要apiDiscovery-1.0(SSL是可选的)。
公共端点的默认地址为http://host:port/api/explorer
您可以更改" / api"通过使用server.xml中apiDiscovery元素中的publicURL属性来分配部分,例如:
<apiDiscovery publicURL="/myPublicAPI" />
这是Liberty的下一个版本17.0.0.1的目标。
请注意,在公共端点中,不会显示内部端点(例如JMX,Batch等) - 仅显示已部署的应用程序。
对于内部端点,您可以使用/ ibm / api / explorer(仍需要SSL和身份验证)。
答案 1 :(得分:1)
我认为出于安全原因,您无法取消apiDiscovery身份验证的要求 我怀疑这有帮助但是,你不应该只能使用我的server.xml中的basicRegistry元素中定义的凭证进行身份验证&#34;而且任何支持的身份验证机制都应该像quickStartSecurity,LDAP等一样工作(它们可以在服务器读取的任何配置文件中设置,而不仅仅是server.xml)。例如,您应该能够在wlp / usr / shared / config中使用quickStartSecurity为/ wlp / usr / servers /目录下的所有服务器应用Admininistrator角色。