2017-02-15 3 views
0

Gibt es eine Möglichkeit, die Authentifizierungsanforderung für den Zugriff auf die API-Dokumentationsendpunkte zu deaktivieren, die von der Funktion apiDiscovery-1.0 bereitgestellt werden?So deaktivieren Sie die Authentifizierungsanforderung für die apiDiscovery-Funktion

Ich habe die apiDiscovery-1.0 Funktion aktiviert auf Liberty 16.0.0.4.

Ich kann die Swagger-Dokumente sehen, wenn ich auf /ibm/api/explorer wie erwartet zugreifen, aber ich muss authentifizieren.

Ich kann nur authentifizieren, indem ich die in einem basicRegistry Element innerhalb meiner server.xml definierten Anmeldeinformationen verwendet. Allerdings möchte ich diese basicRegistry aus meiner Serverkonfiguration entfernen.

Antwort

1

Ich glaube, Sie können die Anforderung für die Authentifizierung für apiDiscovery aus Sicherheitsgründen nicht entfernen.
Ich bezweifle, dass dies hilft, aber Sie sollten nicht "nur authentifizieren mit Anmeldeinformationen in einem basicRegistry Element in meiner server.xml definiert werden" und stattdessen alle unterstützten Authentifizierungsmechanismen wie quickStartSecurity, LDAP, etc (und sie können sein set in jeder Konfigurationsdatei, die vom Server gelesen wird, nicht nur server.xml). Sie sollten beispielsweise quickStartSecurity in wlp/usr/shared/config verwenden können, um eine Admininistrator-Rolle für alle Server unter diesem Verzeichnis/wlp/usr/servers/zu übernehmen.

+0

Sie haben Recht, das ist nicht die einzige Methode, mit der ich mich authentifizieren kann, sondern ich kann mich nur authentifizieren, weil ich einen basicRegistry-Eintrag in meiner server.xml habe. Aus Sicherheitsgründen befindet sich die App hinter einem externen Sicherheitsframework, so dass ich mich nicht mit der Authentifizierung für den Liberty Container beschäftigen muss. Es ist enttäuschend, dass apiDiscovery eine Authentifizierung benötigt, da sie hinter dem externen Sicherheitsframework neben meiner App sitzt. – austinbruch

2

Sie können in der neuesten Beta (https://developer.ibm.com/wasdev/downloads/liberty-profile-beta/)

Mit diesem Treiber das tun, brauchen Sie nur apiDiscovery-1.0 (SSL optional ist).

Die Standardadresse für den öffentlichen Endpunkt ist http://host:port/api/explorer

Sie können mithilfe des publicURL Attribut im apiDiscovery Element in server.xml, zum Beispiel das "/ api" -Teil ändern:

<apiDiscovery publicURL="/myPublicAPI" /> 

Dies wird für die nächste Version von Liberty, 17.0.0.1, angestrebt.

Bitte beachten Sie, dass im öffentlichen Endpunkt interne Endpunkte (wie JMX, Batch usw.) nicht angezeigt werden - nur Ihre bereitgestellten Anwendungen.

Für die internen Endpunkte können Sie/ibm/api/explorer verwenden (der weiterhin SSL und Authentifizierung erfordert).

+0

Danke Arthur. Ich gebe der Beta eine Chance und freue mich darauf, bei der Veröffentlichung auf 17.0.0.1 zu wechseln. – austinbruch

Verwandte Themen