Passer au contenu principal

Vue d’ensemble du processus d’authentification

Le JSON Web Token (JWT) est un format d’échange de données utilisé pour transférer des données de manière sécurisée entre le serveur d’applications d’ABBYY FlexiCapture 12 et des services tiers. Lors d’une authentification via JWT, aucune donnée d’identification n’est envoyée au serveur d’applications. L’authentification s’effectue sur un service tiers, après quoi le serveur d’applications est informé que l’utilisateur a été authentifié par un service de confiance.

Implémentation

Récupérer les données JSON

Exemple de données JSON :
Les données JSON contenant les certificats d’utilisateur sont encodées en Base64 pour créer un JSON Web Token (JWT). L’exemple suivant crée un jeton JWT :

Envoyer un JWT au serveur d’applications

Un JWT doit être envoyé au serveur d’applications via l’URL suivante : https://<ApplicationServer>/Flexicapture12/Server/jwt. Cette opération s’effectue au moyen d’une requête POST.
Si vous utilisez un tenant, ajoutez l’identifiant du tenant à l’URL du serveur d’applications : https://<ApplicationServer>/Flexicapture12/Server/jwt?Tenant=MyTenantName
Pour que l’authentification fonctionne, un utilisateur dont le login correspond à l’identifiant figurant dans le JWT (contenu dans la valeur du nœud nameid) doit être enregistré sur le serveur d’applications. Le serveur d’applications renvoie une réponse de ce type :
La valeur du champ ticket est le ticket ABBYY FlexiCapture 12 authentifié. Vous pouvez utiliser ce ticket pour appeler toutes les interfaces du serveur d’applications qui nécessitent une authentification. Les services doivent être accessibles à l’aide de l’authentification ABBYY FlexiCapture, c’est-à-dire via des adresses commençant par https://<ApplicationServer>/flexicapture12/Server/FCAuth/ ou https://<ApplicationServer>/flexicapture12/Server/MobileApp/.

Utilisation d’un ticket ABBYY FlexiCapture 12 authentifié

Vous pouvez transmettre au serveur un ticket ABBYY FlexiCapture 12 authentifié à l’aide d’un fichier de cookie (le fichier doit être nommé FlexiCaptureTmpPrn) ou de l’en-tête Authorization: Bearer. Par exemple :
Nous vous recommandons d’utiliser l’en-tête Authorization: Bearer (les cookies sont pris en charge uniquement pour des raisons de compatibilité descendante).

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

Le serveur d’applications vérifie les données reçues du fournisseur d’identité. Pour que le serveur d’applications puisse leur faire confiance, elles doivent être signées à l’aide d’un certificat personnalisé émis par une autorité de confiance répertoriée dans la base de données du serveur d’applications. Importez le certificat dans la base de données ABBYY FlexiCapture. Les données seront alors vérifiées à l’aide de ce certificat. Pour plus d’informations, voir Configuration de 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 dans le magasin de certificats de l’ordinateur local, sur l’ordinateur qui exécute 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é. Pour télécharger le projet et les éléments associés, utilisez ce lien : JWT_Example.zip