2017-02-15 40 views
0

是否有任何方法可以禁用訪問由apiDiscovery-1.0功能提供的API文檔端點的驗證要求?如何禁用apiDiscovery功能的驗證要求

我在Liberty 16.0.0.4上啓用了apiDiscovery-1.0功能。

我按照預期訪問/ibm/api/explorer時能夠看到swagger文檔,但我需要進行身份驗證。

我只能使用我的server.xml中的basicRegistry元素中定義的憑據進行身份驗證。但是,我想從我的服務器配置中刪除此basicRegistry

回答

1

出於安全考慮,我相信你不能刪除對apiDiscovery進行身份驗證的要求。
我懷疑這有幫助,但是,你不應該「只能使用在我的server.xml中的basicRegistry元素中定義的憑證進行身份驗證」,而是任何受支持的身份驗證機制都應該像quickStartSecurity,LDAP等一樣工作(並且它們可以是設置在由服務器讀取的任何配置文件中,而不僅僅是server.xml)。例如,您應該能夠在wlp/usr/shared/config中使用quickStartSecurity來爲該/ wlp/usr/servers /目錄下的所有服務器應用Admininistrator角色。

+0

你說得對,那不是我能夠進行身份驗證的唯一方式,而是我只能進行身份驗證,因爲我碰巧在我的server.xml中有一個basicRegistry條目。 出於安全原因,該應用程序位於外部安全框架之後,因此我不需要在Liberty容器上處理身份驗證。 apiDiscovery需要身份驗證令人失望,因爲它將與我的應用程序一起位於外部安全框架之後。 – austinbruch

2

你可以做的是,在最新的測試版(https://developer.ibm.com/wasdev/downloads/liberty-profile-beta/

與該驅動程序,您只需要apiDiscovery-1.0(SSL可選)。

默認地址爲公衆端點是http://host:port/api/explorer

可以通過使用在server.xml中apiDiscovery元件的publicURL屬性,例如改變「/ API」部分:

<apiDiscovery publicURL="/myPublicAPI" /> 

這是針對Liberty的下一個版本17.0.0.1的。

請注意,在公共端點中,不顯示內部端點(如JMX,Batch等) - 僅顯示已部署的應用程序。

對於內部端點,您可以使用/ ibm/api/explorer(它仍然需要SSL和認證)。

+0

謝謝阿瑟。我會給測試一個鏡頭,並期待在發佈時升級到17.0.0.1。 – austinbruch