Home
Home
Englische Version
Support
Impressum
25.3 Release ►

Start Chat with Collection

    Main Navigation

    • Vorbereitung
      • Einrichten InSpire G7 Primärsystem und Standby Appliances
      • Erstellen einer InSpire-VM auf Hyper-V
      • Initiale Inbetriebnahme für G7 Appliances
      • Konnektoren
    • Datenquellen
      • Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels
      • Handbuch - Mindbreeze InSpire Insight Apps in Salesforce
      • 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 - Mindbreeze InSpire Insight Apps in Microsoft SharePoint On-Prem
      • Konfiguration - Atlassian Confluence Connector
      • Konfiguration - Best Bets Connector
      • Konfiguration - Box Connector
      • Konfiguration - COYO Connector
      • Konfiguration - Data Integration Connector
      • Konfiguration - Datenbank 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 - JVM Launcher Service
      • Konfiguration - LDAP Connector
      • Konfiguration - Microsoft Azure Principal Resolution Service
      • Konfiguration - Microsoft Dynamics CRM Connector
      • Konfiguration - Microsoft Exchange Connector
      • Konfiguration - Microsoft File Connector (Legacy)
      • Konfiguration - Microsoft File Connector
      • Konfiguration - Microsoft Graph Connector
      • Konfiguration - Microsoft Loop Connector
      • Konfiguration - Microsoft Project Connector
      • Konfiguration - Microsoft SharePoint Connector
      • Konfiguration - Microsoft SharePoint Online Connector
      • Konfiguration - Microsoft Stream Connector
      • Konfiguration - Microsoft Teams Connector
      • Konfiguration - Salesforce Connector
      • Konfiguration - SCIM Principal Resolution Service
      • Konfiguration - SemanticWeb Connector
      • Konfiguration - ServiceNow Connector
      • Konfiguration - Web Connector
      • Konfiguration - Yammer Connector
      • Mindbreeze InSpire Insight Apps in Microsoft SharePoint Online
      • Mindbreeze Web Parts in Microsoft SharePoint
      • Whitepaper - Web Connector Erweiterte JavaScript Anwendungsfälle
    • Konfiguration
      • CAS Authentifizierung
      • Cookie Authentifizierung
      • Handbuch - AI Chat
      • Handbuch - Erstellung einer AWS 10M InSpire Applikation
      • Handbuch - Erstellung einer AWS 1M InSpire Applikation
      • Handbuch - Erstellung einer AWS 2M InSpire Applikation
      • Handbuch - Erstellung einer Google Compute Cloud Virtual Machine InSpire Applikation
      • Handbuch - Erstellung einer Oracle Cloud 10M InSpire Applikation
      • Handbuch - Erstellung einer Oracle Cloud 1M InSpire Applikation
      • Handbuch - MMC_ Services
      • Handbuch - Natural Language Question Answering (NLQA)
      • Handbuch - SSO mit Microsoft AAD oder AD FS
      • Handbuch - Text Classification Insight Services
      • I18n Item Transformation
      • JWT Authentifizierung
      • 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 - External Query Service
      • Konfiguration - Filter Plugins
      • Konfiguration - Gesammelte Ergebnisse
      • Konfiguration - GSA Late Binding Authorization
      • Konfiguration - Identity Conversion Service - Replacement Conversion
      • Konfiguration - InceptionImageFilter
      • Konfiguration - Index-Servlets
      • Konfiguration - InSpire AI Chat und Insight Services für Retrieval Augmented Generation
      • Konfiguration - Item Property Generator
      • Konfiguration - Kerberos Authentfizierung
      • Konfiguration - Management Center Menü
      • Konfiguration - Metadata Reference Builder Plugin
      • Konfiguration - Metadaten Anreicherung
      • Konfiguration - Mindbreeze InSpire
      • Konfiguration - Mindbreeze Proxy Umgebung (Remote Connector)
      • 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 - Verteilte Konfiguration (Windows)
      • Konfiguration - Vokabulare für Synonyme und Autovervollständigung
      • Konfiguration von Vorschaubildern
      • Mindbreeze Personalization
      • Mindbreeze Property Expression Language
      • Mindbreeze Query Expression Transformation
      • SAML Authentifizierung
      • Spracherkennung mit dem LanguageDetector Plugin
      • Trusted Peer Authentication für Mindbreeze InSpire
      • Verwendung von InSpire-Snapshots in einer CI_CD-Umgebung
    • Betrieb
      • Anpassung der InSpire Host OpenSSH Einstellungen - LoginGraceTime auf 0 setzen (Mitigation für CVE-2024-6387)
      • app.telemetry Statistiken zu Suchanfragen
      • Bereitstellen von app.telemetry Informationen mittels SNMPv3 auf G7 Appliances
      • CIS Level 2 Hardening - SELinux in den Modus Enforcing versetzen
      • Handbuch - Administration von Insight Services für Retrieval Augmented Generation
      • Handbuch - Filemanager
      • Handbuch - Indizierungs- und Suchlogs
      • Handbuch - Kommandozeilenwerkzeuge
      • Handbuch - Sichern & Wiederherstellen
      • Handbuch - Updates und Downgrades
      • Handbuch - Verteilter Betrieb (G7)
      • Index Betriebskonzepte
      • Inspire Diagnose und Ressourcen Monitoring
      • Konfiguration - app.telemetry Dashboards für Nutzungsanalyse
      • Konfiguration - Nutzungsanalyse
      • Löschung der Festplatten
      • Wiederherstellen des Lieferzustandes
    • Anwenderhandbuch
      • Browser Extension
      • Cheat Sheet
      • iOS App
      • Tastaturbedienung
    • SDK
      • api.chat.v1beta.generate Schnittstellenbeschreibung
      • 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
      • Debugging (Eclipse)
      • Einbetten des Insight App Designers
      • Entwicklung eines API V2 Search Request Response Transformer
      • Entwicklung eines Query Expression Transformer
      • Entwicklung von Insight Apps
      • Entwicklung von Item Transformation und Post Filter Plugins mit der Mindbreeze SDK
      • Java API Schnittstellenbeschreibung
      • OpenAPI 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 21.1 Release - Mindbreeze InSpire
      • Release Notes 21.2 Release - Mindbreeze InSpire
      • Release Notes 21.3 Release - Mindbreeze InSpire
      • Release Notes 22.1 Release - Mindbreeze InSpire
      • Release Notes 22.2 Release - Mindbreeze InSpire
      • Release Notes 22.3 Release - Mindbreeze InSpire
      • Release Notes 23.1 Release - Mindbreeze InSpire
      • Release Notes 23.2 Release - Mindbreeze InSpire
      • Release Notes 23.3 Release - Mindbreeze InSpire
      • Release Notes 23.4 Release - Mindbreeze InSpire
      • Release Notes 23.5 Release - Mindbreeze InSpire
      • Release Notes 23.6 Release - Mindbreeze InSpire
      • Release Notes 23.7 Release - Mindbreeze InSpire
      • Release Notes 24.1 Release - Mindbreeze InSpire
      • Release Notes 24.2 Release - Mindbreeze InSpire
      • Release Notes 24.3 Release - Mindbreeze InSpire
      • Release Notes 24.4 Release - Mindbreeze InSpire
      • Release Notes 24.5 Release - Mindbreeze InSpire
      • Release Notes 24.6 Release - Mindbreeze InSpire
      • Release Notes 24.7 Release - Mindbreeze InSpire
      • Release Notes 24.8 Release - Mindbreeze InSpire
      • Release Notes 25.1 Release - Mindbreeze InSpire
      • Release Notes 25.2 Release - Mindbreeze InSpire
      • Release Notes 25.3 Release - Mindbreeze InSpire
    • Sicherheit
      • Bekannte Schwachstellen
    • Produktinformation
      • Produktinformation - Mindbreeze InSpire - Standby
      • Produktinformation - Mindbreeze InSpire
    Home

    Path

    Sure, you can handle it. But should you?
    Let our experts manage the tech maintenance while you focus on your business.
    See Consulting Packages

    Cognito JWT Authentifizierung mit Mindbreeze
    Konfiguration

    JWT EinleitungPermanenter Link zu dieser Überschrift

    JSON Web Tokens (JWTs) können zur sicheren Authentifizierung und Autorisierung für Webanwendungen und -dienste verwendet werden. Wenn sich ein Benutzer bei einer Anwendung anmeldet, wird ihm ein JWT ausgestellt, das Informationen über seine Identität und seine Berechtigungen enthält. Dieses Token kann über einen Authorization: Bearer Header an den Client Service gesendet werden. Der Client Service verwendet einen JSON Web Key (JWK), um das JWT zu verifizieren und die Identität zu extrahieren. Durch die Integration von Mindbreeze InSpire mit JWT-Authentifizierung können Benutzer sicher auf Inhalte und Dienste innerhalb der Plattform zugreifen.

    VorbereitungPermanenter Link zu dieser Überschrift

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

    • Das JWK JSON, welches die Public Keys des User-Pools enthält.
    • Zum Beispiel bei Cognito kann dies mit einer URL in folgender Form heruntergeladen werden: https://cognito-idp.{{region}}.amazonaws.com/{{userPoolId}}/.well-known/jwks.json
      Konkretes Beispiel: 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.
    • Zum Biespiel bei Cognito ist dies 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.
      Konkretes Beispiel: https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_AbCdEf
    • Den Audience (aud) Claim.
    • In Cognito entspricht dies 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 Abschnitt „Vorbereitung“ heruntergeladenen JSON ein.

    Alternativ zur Option „JWK JSON“ können Sie die Option „JWK URI“ verwenden, um eine File-URI anzugeben, die auf eine JWK-Datei im Dateisystem der Appliance zeigt, z.B. file:///data/jwks-cognito.json oder /data/jwks-cognito.json. Erstellen Sie dazu im Management Center (MMC) in „File Manager“, „Local Filesystem“ die JSON-Datei (z.B. /data/jwks-cognito.json) und fügen Sie den Inhalt des in Abschnitt „Vorbereitung“ heruntergeladenen JSON ein.
    Hinweis: Änderungen in der konfigurierten „JWK JSON“ Datei sind sofort wirksam; ein Neustart des Client Service ist also nicht notwendig.

    Danach fügen Sie folgende „Required Claims Patterns“ hinzu:

    • Issuer Claim
      • „Claim Name“: iss
      • „Claim Pattern“: der Issuer Claim, der in Abschnitt „Vorbereitung“ 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 „Vorbereitung“ 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 Names“. Diese bestimmt, welcher Claim für die Identität in der Mindbreeze InSpire Suche herangezogen wird (z.B.: cognito:username ).

    Wenn der Client Service in der Lage sein soll, Token von verschiedenen OAuth-Clients mit unterschiedlichen Claims zu verarbeiten, können mehrere Identity Claim Names konfiguriert werden. Dies ist notwendig, wenn Sie verschiedene Token haben, von denen einige z.B. den Claim "email" enthalten, der als Identität verwendet werden soll, und einige Token den Claim "upn" enthalten. Die Claims werden dann in der Reihenfolge geprüft, in der sie angegeben sind. Im genannten Beispiel würde das bedeuten, dass zuerst geprüft wird, ob das Token den Claim "email" enthält, falls nicht, wird der Claim "upn" geprüft.

    Dies sollte mit äußerster Vorsicht konfiguriert werden, um eine falsche Zuordnung der Identität zu vermeiden.

    Falls es noch zusätzliche Claims gibt, die in der Mindbreeze Suche als Principals verwendet werden sollen, konfigurieren Sie diese in „JWT Principal Claim Names“. Die Principal Claims können sowohl Einzelwerte sein als auch ein Array an Werten.

    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

    • JWT Authentifizierung

    Inhalt

    • JWT Einleitung
    • Vorbereitung
    • Konfiguration
    • Anhang

    PDF herunterladen

    • JWT Authentifizierung