Skip to main content

Vue d’ensemble du processus d’authentification

L’authentification SAML permet aux utilisateurs d’ABBYY FlexiCapture 12 d’éviter d’envoyer des données d’identité (telles qu’un nom d’utilisateur et un mot de passe) au composant serveur d’applications de FlexiCapture en s’authentifiant auprès d’un fournisseur d’identité tiers (par exemple, Google ou Facebook), puis en transmettant au serveur d’applications les données confirmant le succès de l’authentification par ce tiers de confiance. Le processus d’authentification SAML dans une application utilisateur comprend les étapes suivantes :
  • S’authentifier auprès du fournisseur d’identité tiers
  • Récupérer les données d’authentification SAML de l’utilisateur auprès du fournisseur d’identité tiers
  • Envoyer les données d’authentification SAML au serveur d’applications
  • Recevoir un ticket d’authentification du serveur d’applications
Ce ticket peut ensuite être utilisé dans des requêtes adressées au serveur d’applications.
Le compte utilisateur doit exister dans la base de données FlexiCapture et disposer de toutes les autorisations requises.

Implémentation

Obtenir les données SAML

Les données SAML provenant d’un fournisseur d’identité tiers se présentent comme suit (cet exemple provient de OneLogin) :
Pour savoir comment obtenir des données d’authentification auprès d’un fournisseur d’identité tiers, consultez la documentation de ce fournisseur. Par exemple, OneLogin propose des toolkits prêts à l’emploi pour activer l’authentification SAML dans plusieurs langages de programmation.

Envoyer les données SAML au serveur d’applications FlexiCapture 12

Encodez les données SAML en Base64 et envoyez-les au serveur d’applications à l’aide d’une requête POST à l’adresse https://<Application Server>/Flexicapture12/Server/Saml. Le nom du champ contenant les données SAML doit être SAMLResponse.
Si vous utilisez un tenant, ajoutez l’identifiant du tenant à l’URL du serveur, par exemple, https://<ApplicationServer>/Flexicapture12/Server/Saml?Tenant=MyTenantName Pour que l’authentification fonctionne, un utilisateur dont le login correspond à l’identifiant figurant dans les données SAML doit être enregistré sur le serveur d’applications. La valeur du champ /samlp:Response/saml:Assertion/saml:Subject/saml:NameID sera utilisée comme login. Le serveur d’applications renvoie une réponse comme suit :
La valeur de la balise <ticket> correspond au ticket d’authentification FlexiCapture 12. Vous pouvez utiliser ce ticket pour appeler toutes les interfaces du serveur d’applications qui nécessitent une authentification. Les requêtes envoyées aux services web FlexiCapture doivent utiliser l’authentification FlexiCapture (adresses commençant par https://<ApplicationServer>/flexicapture12/Server/FCAuth/ ou https://<ApplicationServer>/flexicapture12/Server/MobileApp/).

Utiliser le ticket FC 12 authentifié

Vous pouvez transmettre le ticket au serveur au moyen d’un fichier de cookies (le fichier doit être nommé FlexiCaptureTmpPrn) ou d’un en-tête Authorization: Bearer. Exemple :
Nous recommandons d’utiliser l’en-tête. Les cookies sont pris en charge pour assurer la compatibilité avec les anciennes solutions. Si l’authentification réussit, la réponse du serveur contiendra une valeur de ticket mise à jour, à la fois dans un cookie associé au même identifiant de connexion (FlexiCaptureTmpPrn) et dans l’en-tête AuthTicket. La requête suivante doit être effectuée à l’aide du ticket mis à jour (les tickets expirent au bout d’un certain temps).

Configuration d’un certificat de confiance sur le serveur d’applications

Le serveur d’applications vérifiera les données reçues du fournisseur d’identité. Pour que le serveur d’applications fasse confiance à ces données, elles doivent être signées avec un certificat personnalisé émis par une autorité figurant dans la base de données des autorités de confiance du serveur d’applications. Importez le certificat dans la base de données ABBYY FlexiCapture. Les données seront désormais vérifiées à l’aide de ce certificat. Pour plus d’informations, voir Configurer l’authentification unique. Si la vérification échoue, le serveur d’applications s’appuiera sur le paramètre AllowMixedModeCertificateValidation des paramètres <appSettings> du fichier Web.config. Si ce paramètre est défini sur true, la vérification sera effectuée à l’aide du certificat ajouté au dossier Trusted Root Certification Authorities du magasin de certificats Ordinateur local sur l’ordinateur exécutant le serveur d’applications. Si aucun certificat n’est ajouté à la base de données, la vérification sera effectuée à l’aide du certificat situé dans le dossier Trusted Root Certification Authorities, et le paramètre AllowMixedModeCertificateValidation sera ignoré. Téléchargez le projet et les éléments associés : SAML_Example.zip