Skip to main content

Übersicht über den Authentifizierungsprozess

Die SAML-Authentifizierung ermöglicht es ABBYY-FlexiCapture-12-Benutzern, keine Identitätsdaten (wie Benutzername und Kennwort) an die FlexiCapture-Komponente Application Server senden zu müssen. Stattdessen authentifizieren sie sich bei einem externen Identitätsanbieter (z. B. Google oder Facebook) und übermitteln anschließend Informationen über die erfolgreiche Authentifizierung durch einen vertrauenswürdigen Drittanbieter an den Application Server. Der SAML-Authentifizierungsprozess in einer Benutzeranwendung umfasst die folgenden Schritte:
  • Sich beim externen Identitätsanbieter authentifizieren
  • Die SAML-Authentifizierungsdaten des Benutzers vom externen Identitätsanbieter abrufen
  • Die SAML-Authentifizierungsdaten an den Application Server senden
  • Ein authentifiziertes Ticket vom Application Server erhalten
Dieses Ticket kann dann bei Anfragen an den Application Server verwendet werden.
Das Benutzerkonto muss in der FlexiCapture-Datenbank vorhanden sein und über alle erforderlichen Berechtigungen verfügen.

Implementierung

SAML-Daten abrufen

Die SAML-Daten eines externen Identitätsanbieters sind wie folgt formatiert (dieses Beispiel stammt von OneLogin):
Einzelheiten dazu, wie Sie Authentifizierungsdaten von einem externen Identitätsanbieter erhalten, finden Sie in der Dokumentation des Identitätsanbieters. OneLogin bietet beispielsweise vorgefertigte Toolkits zur Aktivierung der SAML-Authentifizierung in mehreren Programmiersprachen an.

Senden Sie SAML-Daten an den FlexiCapture 12 Application Server

Kodieren Sie die SAML-Daten in Base64 und senden Sie sie durch Senden einer POST-Anfrage an https://<Application Server>/Flexicapture12/Server/Saml an den Application Server. Der Name des Feldes, das die SAML-Daten enthält, sollte SAMLResponse sein.
Wenn Sie einen Mandanten verwenden, fügen Sie den Bezeichner des Mandanten der Server-URL hinzu, zum Beispiel https://<ApplicationServer>/Flexicapture12/Server/Saml?Tenant=MyTenantName Damit die Authentifizierung funktioniert, muss auf dem Application Server ein Benutzer registriert sein, dessen Login mit dem Bezeichner in den SAML-Daten übereinstimmt. Der Wert des Felds /samlp:Response/saml:Assertion/saml:Subject/saml:NameID wird als Login verwendet. Der Application Server gibt eine Antwort wie folgt zurück:
Der Wert im Tag <ticket> ist das authentifizierte Ticket für FlexiCapture 12. Sie können dieses Ticket für Aufrufe an alle Schnittstellen des Application Server verwenden, die eine Authentifizierung erfordern. Anfragen an FlexiCapture-Webservices müssen über die FlexiCapture-Authentifizierung erfolgen (Adressen, die mit https://<ApplicationServer>/flexicapture12/Server/FCAuth/ oder https://<ApplicationServer>/flexicapture12/Server/MobileApp/ beginnen).

Verwenden Sie das authentifizierte FC 12-Ticket

Sie können das Ticket mithilfe einer Cookie-Datei (die Datei muss FlexiCaptureTmpPrn heißen) oder eines Authorization: Bearer-Headers an den Server übergeben. Beispiel:
Wir empfehlen, den Header zu verwenden. Cookies werden aus Kompatibilitätsgründen mit älteren Lösungen unterstützt. Wenn die Authentifizierung erfolgreich ist, enthält die Antwort des Servers einen aktualisierten Ticket-Wert sowohl in einer Cookie-Datei mit demselben Login (FlexiCaptureTmpPrn) als auch im AuthTicket-Header. Die nächste Anfrage muss mit dem aktualisierten Ticket erfolgen (Tickets laufen nach einer bestimmten Zeit ab).

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 mithilfe dieses Zertifikats ü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 AllowMixedModeCertificateValidation-Parameter in den <appSettings>-Einstellungen der Datei Web.config. Wenn dieser Parameter auf true gesetzt ist, wird die Überprüfung mithilfe des Zertifikats durchgeführt, das sich auf dem Computer, auf dem der Application Server ausgeführt wird, im Zertifikatspeicher „Lokaler Computer“ im Ordner Trusted Root Certification Authorities befindet. Wenn der Datenbank keine Zertifikate hinzugefügt wurden, wird die Überprüfung mithilfe des Zertifikats im Ordner Trusted Root Certification Authorities durchgeführt, und der AllowMixedModeCertificateValidation-Parameter wird ignoriert. Laden Sie das Projekt und die zugehörigen Materialien herunter: SAML_Example.zip