Home
Home
Englische Version
Support
Impressum
20.5 Release ►

    Main Navigation

    • Vorbereitung
      • Einrichten InSpire G7 Primärsystem und Standby Appliances
      • Initiale Inbetriebnahme für G6 Appliances (vor Jänner 2018 ausgeliefert)
      • Initiale Inbetriebnahme für G7 Appliances
      • Konnektoren
    • Datenquellen
      • Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels
      • Indizierung benutzerspezifischer Eigenschaften (SharePoint 2013 Connector)
      • Indizierung benutzerspezifischer Objekttypen (Documentum)
      • Installation & Konfiguration - Atlassian Confluence Sitemap Generator Add-On
      • Installation & Konfiguration - Caching Principal Resolution Service
      • Installation & Konfiguration - Jive Sitemap Generator
      • Konfiguration - Atlassian Confluence Connector
      • Konfiguration - Best Bets Connector
      • Konfiguration - Data Integration Connector
      • Konfiguration - Documentum Connector
      • Konfiguration - Dropbox Connector
      • Konfiguration - Egnyte Connector
      • Konfiguration - GitHub Connector
      • Konfiguration - Google Drive Connector
      • Konfiguration - GSA Adapter Service
      • Konfiguration - HL7 Connector
      • Konfiguration - IBM Connections Connector
      • Konfiguration - IBM Lotus Connector
      • Konfiguration - Jira Connector
      • Konfiguration - JiveSoftware Jive Connector
      • Konfiguration - JVM Launcher Service
      • Konfiguration - LDAP Connector
      • Konfiguration - Microsoft Dynamics CRM Connector
      • Konfiguration - Microsoft Exchange Connector
      • Konfiguration - Microsoft File Connector (Legacy)
      • Konfiguration - Microsoft File Connector
      • Konfiguration - Microsoft SharePoint Connector
      • Konfiguration - Salesforce Connector
      • Konfiguration - SAP KMC Connector
      • Konfiguration - SemanticWeb Connector
      • Konfiguration - ServiceNow Connector
      • Konfiguration - SharePoint Online Connector
      • Konfiguration - Web Connector
      • Mindbreeze InSpire Insight Apps in Microsoft SharePoint Online
      • Mindbreeze InSpire Suchanwendungen in Microsoft SharePoint 2010
      • Mindbreeze InSpire Suchanwendungen in Microsoft SharePoint 2013
      • Mindbreeze Web Parts in Microsoft SharePoint
    • Konfiguration
      • CAS Authentifizierung
      • Cognito JWT Authentifizierung
      • Cookie Authentifizierung
      • I18n Item Transformation
      • Konfiguration - Alternative Suchvorschläge und automatische Sucherweiterung
      • Konfiguration - Backend Credentials
      • Konfiguration - Benachrichtigungen
      • Konfiguration - CJK Tokenizer Plugin
      • Konfiguration - CSV Metadata Mapping Item Transformation Service
      • Konfiguration - Entity Recognition
      • Konfiguration - Export Funktionalität
      • Konfiguration - Gesammelte Ergebnisse
      • Konfiguration - GSA Late Binding Authorization
      • Konfiguration - Index-Servlets
      • Konfiguration - Item Property Generator
      • Konfiguration - Kerberos Authentfizierung
      • Konfiguration - Management Center Menü
      • Konfiguration - Metadata Reference Builder Plugin
      • Konfiguration - Metadaten Anreicherung
      • Konfiguration - Microsoft SharePoint Connector
      • Konfiguration - Mindbreeze InSpire
      • Konfiguration - Outlook Add-In
      • Konfiguration - Personalisierte Relevanz
      • Konfiguration - Plugin Installation
      • Konfiguration - Principal Validation Plugin
      • Konfiguration - Profile
      • Konfiguration - Reporting Query Log
      • Konfiguration - Reporting Query Performance Tests
      • Konfiguration - Request Header Session Authentisierung
      • Konfiguration - Vokabulare für Synonyme und Autovervollständigung
      • Konfiguration von Vorschaubildern
      • Mindbreeze Personalization
      • Mindbreeze Prediction Service mit Beispiel Textklassifizierung
      • Mindbreeze Property Expression Language
      • Mindbreeze Query Expression Transformation
      • Non-Inverted Metadata Item Transformer
      • SAML Authentifizierung
      • Spracherkennung mit dem LanguageDetector Plugin
      • Trusted Peer Authentication für Mindbreeze InSpire
      • Verwendung von InSpire-Snapshots in einer CI_CD-Umgebung
    • Betrieb
      • app.telemetry Statistiken zu Suchanfragen
      • Bereitstellen von app.telemetry Informationen mittels SNMPv3 auf G7 Appliances
      • Handbuch - Filemanager
      • Handbuch - Indizierungs- und Suchlogs
      • Handbuch - Kommandozeilenwerkzeuge
      • Handbuch - Sichern & Wiederherstellen
      • Handbuch - Synchronisierter Betrieb (G6)
      • Handbuch - Verteilter Betrieb (G7)
      • Index Betriebskonzepte
      • Inspire Diagnose und Ressourcen Monitoring
      • Konfiguration - Nutzungsanalyse
      • Löschung der Festplatten
      • Mindbreeze InSpire SFX Update
      • Wiederherstellen des Lieferzustandes
    • Anwenderhandbuch
      • Cheat Sheet
      • iOS App
      • Tastaturbedienung
    • SDK
      • api.v2.alertstrigger Schnittstellenbeschreibung
      • api.v2.export Schnittstellenbeschreibung
      • api.v2.personalization Schnittstellenbeschreibung
      • api.v2.search Schnittstellenbeschreibung
      • api.v2.suggest Schnittstellenbeschreibung
      • api.v3.admin.SnapshotService Schnittstellenbeschreibung
      • Entwicklung eines API V2 Search Request Response Transformer
      • Entwicklung von Insight Apps
      • Java API Schnittstellenbeschreibung
      • SDK Übersicht
    • Release Notes
      • Release Notes 20.1 Release - Mindbreeze InSpire
      • Release Notes 20.2 Release - Mindbreeze InSpire
      • Release Notes 20.3 Release - Mindbreeze InSpire
      • Release Notes 20.4 Release - Mindbreeze InSpire
      • Release Notes 20.5 Release - Mindbreeze InSpire
      • Release Notes 2018 Spring - Mindbreeze InSpire
      • Release Notes 2018 Winter - Mindbreeze InSpire
      • Release Notes 2019 Fall - Mindbreeze InSpire
      • Release Notes 2019 Winter - Mindbreeze InSpire
    • Sicherheit
      • Bekannte Schwachstellen
    • Produktinformation
      • Produktinformation - Mindbreeze InSpire - Standby
      • Produktinformation - Mindbreeze InSpire
    Home

    Path

    Cognito JWT Authentifizierung mit Mindbreeze

    Konfiguration

    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.

    Cognito JWT EinleitungPermanenter Link zu dieser Überschrift

    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.

    VorbereitungPermanenter Link zu dieser Überschrift

    Für die Konfiguration von JWT für Cognito in Mindbreeze InSpire sind folgende Daten notwendig:

    • Das JWK JSON, welches die Public Keys des User-Pools enthält. Dies kann mit einer URL in folgender Form heruntergeladen werden: https://cognito-idp.{{region}}.amazonaws.com/{{userPoolId}}/.well-known/jwks.json konkret z.B.: https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_AbCdEf/.well-known/jwks.json Hinweis: das JSON enthält ein oder mehrere RSA Public-Keys mit denen die Signatur der JWT geprüft werden kann.
    • Den Issuer (iss) Claim. Dies ist eine URL in folgender Form: https://cognito-idp.{{region}}.amazonaws.com/{{userPoolId}} . Der Platzhalter {{region}} entspricht der AWS-Region, in dem der User-Pool sitzt und der Platzhalter {{userPoolId}} entspricht der ID des User-Pools. konkret z.B.: https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_AbCdEf
    • Den Audience (aud) Claim. Dies entspricht der client_id des Clients, mit dem die Anmeldung auf den User-Pool durchgeführt wird. Z.B. 1a2b3c4d5e6f7g8h9i1a2b3c4d

    KonfigurationPermanenter Link zu dieser Überschrift

    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:

    • Issuer Claim
      • „Claim Name“: iss
      • „Claim Pattern“: der Issuer Claim, der in Abschnitt 2 ermittelt worden ist, bzw. ein regulärer Ausdruck, der mit gültigen Issuer Claims übereinstimmt. (z.B.: https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_AbCdEf)
    • Audience Claim
      • „Claim Name“: aud
      • „Claim Pattern“: der Audience Claim, der in Abschnitt 2 ermittelt worden ist, bzw. ein regulärer Ausdruck, der mit gültigen Audience Claims übereinstimmt. (z.B.: 1a2b3c4d5e6f7g8h9i1a2b3c4d)
    • Token Use Claim:
      • „Claim Name“: token_use
      • „Claim Pattern“: id (Dies hat bei Cognito immer denselben Wert „id“)

    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 )

    AnhangPermanenter Link zu dieser Überschrift

    Fallback auf andere AuthentifizierungsmethodenPermanenter Link zu dieser Überschrift

    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.

    TroubleshootingPermanenter Link zu dieser Überschrift

    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:

    • Der HTTP Request muss einen Authorization: Bearer {{token}} Header besitzen
    • Der {{token}} muss ein JWT Token String im validen Format sein
    • Der Token muss eine gültige Signatur besitzen, die mit einem Public-Key im JWK JSON geprüft werden kann
    • Der Token darf nicht abgelaufen sein
    • Der Token muss alle konfigurierten „Required Claims Patterns“ enthalten.
    • Der Token muss den „JWT Identity Claim Name“ enthalten.

    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).

    PDF herunterladen

    • Cognito JWT Authentifizierung

    Inhalt

    • Cognito JWT Einleitung
    • Vorbereitung
    • Konfiguration
    • Anhang

    PDF herunterladen

    • Cognito JWT Authentifizierung