Zum Hauptinhalt springen

Überblick über den Authentifizierungsprozess

JSON Web Token (JWT) ist ein Datenübertragungsformat, das für die sichere Übertragung von Daten zwischen dem ABBYY FlexiCapture 12 Application Server und Diensten von Drittanbietern verwendet wird. Bei der Authentifizierung über JWT werden keine Identifikationsdaten an den Application Server übermittelt. Die Authentifizierung erfolgt über einen Drittanbieterdienst, woraufhin der Application Server darüber informiert wird, dass der Benutzer von einem vertrauenswürdigen Dienst authentifiziert wurde.

Implementierung

JSON-Daten abrufen

Beispiel für JSON-Daten:
JSON-Daten mit Benutzerzertifikaten werden Base64-kodiert, um ein JSON Web Token (JWT) zu erstellen. Das folgende Beispiel erstellt ein JWT-Token:

Senden Sie ein JWT an den Application Server

Ein JWT muss über die folgende URL an den Application Server gesendet werden: https://<ApplicationServer>/Flexicapture12/Server/jwt. Dies geschieht mithilfe einer POST-Anfrage.
Wenn Sie einen tenant verwenden, fügen Sie den Bezeichner des tenant zur URL des Application Server hinzu: https://<ApplicationServer>/Flexicapture12/Server/jwt?Tenant=MyTenantName
Damit die Authentifizierung funktioniert, muss auf dem Application Server ein Benutzer registriert sein, dessen Login mit dem Bezeichner im JWT übereinstimmt (enthalten im Knotenwert nameid). Der Application Server gibt eine Antwort wie folgt zurück:
Der Wert im Feld ticket ist das authentifizierte ABBYY FlexiCapture 12-Ticket. Sie können dieses Ticket verwenden, um Aufrufe an alle Schnittstellen des Application Server auszuführen, die eine Authentifizierung erfordern. Auf Services sollte über die ABBYY FlexiCapture-Authentifizierung zugegriffen werden, also über Adressen, die mit https://<ApplicationServer>/flexicapture12/Server/FCAuth/ oder https://<ApplicationServer>/flexicapture12/Server/MobileApp/ beginnen.

Verwenden Sie ein authentifiziertes ABBYY FlexiCapture 12-Ticket

Sie können ein authentifiziertes ABBYY FlexiCapture 12-Ticket mithilfe einer Cookie-Datei an den Server senden (die Datei muss FlexiCaptureTmpPrn heißen) oder über einen Authorization: Bearer-Header. Zum Beispiel:
Wir empfehlen die Verwendung eines Authorization: Bearer-Headers (Cookies werden nur aus Gründen der Abwärtskompatibilität unterstützt).

Einrichten eines vertrauenswürdigen Zertifikats auf dem Application Server

Der Application Server überprüft die vom Identitätsanbieter empfangenen Daten. Damit der Application Server diesen Daten vertraut, sollten sie mit einem benutzerdefinierten Zertifikat signiert sein, das von einer Zertifizierungsstelle aus der Datenbank vertrauenswürdiger Zertifizierungsstellen des Application Server ausgestellt wurde. Importieren Sie das Zertifikat in die ABBYY FlexiCapture-Datenbank. Die Daten werden dann mit diesem Zertifikat überprüft. Weitere Informationen finden Sie unter Einrichten von Single Sign-On. Wenn die Überprüfung fehlschlägt, richtet sich der Application Server nach dem Parameter AllowMixedModeCertificateValidation in den Einstellungen <appSettings> der Datei Web.config. Wenn dieser Parameter auf true gesetzt ist, wird die Überprüfung mit dem Zertifikat durchgeführt, das sich im Ordner Trusted Root Certification Authorities im Zertifikatspeicher „Lokaler Computer“ auf dem Computer befindet, auf dem der Application Server ausgeführt wird. Wenn der Datenbank keine Zertifikate hinzugefügt wurden, wird die Überprüfung mit dem Zertifikat durchgeführt, das sich im Ordner Trusted Root Certification Authorities befindet, und der Parameter AllowMixedModeCertificateValidation wird ignoriert. Verwenden Sie zum Herunterladen des Projekts und der zugehörigen Materialien diesen Link: JWT_Example.zip