Verbesserung
Wichtig
#28558
OpenAPI: Mehrere alternative Authentisierungsmechanismen für dieselbe API ermöglichen
Wenn man aktuell mehrere Authentisierungsverfahren für eine API angibt, dann müssen alle diese Verfahren beim Zugriff erfüllt werden. Das ist aber entgegen der OpenAPI-Spezifikation, die sagt, dass bei Angabe mehrerer Authentisierungsverfahren, diese als mögliche Alternativen zu betrachten sind.
Verbesserung
- Mehrere Authorisierungsverfahren auf Server-Seite sind alternativ.
- Auch über HTTP-BasicAuth können Services im Nutzerkontext angeboten werden (hauptsächlich für vereinfachte Tests von Schnittstellen im Nutzerkontext).
- Authentisierungsverfahren sind jetzt pluggable, d.h. können anwendungsdefiniert ausdefiniert werden. Beispiel: com.top_logic.demo.api.CustomAuthentication
Code-Migration
- In der OpenAPI-Methodenregistry-Konfiguration (wenn vorhanden)
<authentication config:interface="com.top_logic.service.openapi.common.authentication.oauth.WithUserAuthentication" ...
durch
<authentication class="com.top_logic.service.openapi.client.authentication.oauth.user.WithUserAuthentication" ...
ersetzen.
Test
API mit mehreren alternativen Authentisierungsverfahren konfigurieren und prüfen, dass der Zugriff mit jedem Verfahren einzeln möglich ist.
In tl-demo: API "/whoami", die mit zwei Authentifizierungsverfahren benutzt werden kann.