Copyright ©
Mindbreeze GmbH, A-4020 Linz, .
Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.
Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.
Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.
Amazon AWS bietet mit Cognito User-Pools eine Funktionalität, mit der man Benutzer mit anderen IDPs synchronisieren und verwalten kann. Benutzer können sich z.B. mit OAuth 2.0 am User-Pool anmelden und bekommen dann einen JWT (JSON Web Token) als Beweis ihrer erfolgreichen Anmeldung ausgestellt. Der JWT Token wird über einen Authorization: Bearer Header an den Client Service gesendet. Der Client Service kann mithilfe eines JWK (JSON Web Key) diesen Token prüfen und die Identität feststellen. Damit ist der AWS Cognito Benutzer in Mindbreeze InSpire angemeldet.
Für die Konfiguration von JWT für Cognito in Mindbreeze InSpire sind folgende Daten notwendig:
Sie finden die Konfiguration von JWT in der MMC Configuration im Tab „Client Service“ in der Sektion „JWT Authentication Settings“
Aktivieren Sie „Enable JWT Authentication“. Im Textfeld „JWK JSON“ fügen Sie den Inhalt des in Punkt 2 heruntergeladenen JSON ein. Danach fügen Sie folgende „Required Claims Patterns“ hinzu:
Anschließend konfigurieren Sie die Einstellung „JWT Identity Claim Name“. Diese bestimmt, welcher Claim für die Identität in der Mindbreeze InSpire Suche herangezogen wird. (z.B.: cognito:username )
Wird im Request der Header „Authorization: Bearer {{token}}“ nicht mitgeschickt, wird versucht, den User mit einer anderen Authentifizierungsmethode anzumelden, falls eine konfiguriert ist. Z.B. kann SAML konfiguriert werden, welches als Fallback-Authentifizierungsmethode dienen soll.
Um dieses Verhalten zu deaktivieren, kann die Option „Optional JWT Authentication“ deaktiviert werden. Enthält der Request kein JWT, werden Requests strikt mit dem HTTP Status Code 403 beantwortet.
Jeder Zugriff auf eine authentifizierte Ressource (z.B. https://mysearch.com/api/v2/search) muss einen validen JWT Token enthalten. Ansonsten wird der Fehlercode HTTP 403 geliefert. Folgende Kriterien müssen erfüllt sein:
Falls eines dieser Kriterien nicht erfüllt ist, gibt es im Log mit Standardeinstellungen keine Meldung.
Es muss „Full Logging“ aktiviert werden (optional nur auf die Log Region com.mindbreeze.enterprisesearch.webapp.jwt). Damit werden detaillierte Meldungen geloggt, aus welchem Grund das JWT Token nicht gültig ist.
Hinweis: (Online-)Werkzeuge wie https://jwt.io/ eignen sich zur Analyse von JWT Tokens (Achtung Datenschutz).