Skip to main content

Descripción general del proceso de autenticación

La autenticación SAML permite a los usuarios de ABBYY FlexiCapture 12 evitar enviar datos de identidad (como el nombre de usuario y la contraseña) al componente Servidor de aplicaciones de FlexiCapture, ya que pueden autenticarse en un proveedor de identidad de terceros (por ejemplo, Google o Facebook) y, a continuación, enviar al Servidor de aplicaciones los datos que confirman que la autenticación se ha realizado correctamente mediante un tercero de confianza. El proceso de autenticación SAML en una aplicación de usuario consta de los siguientes pasos:
  • Autenticarse en el proveedor de identidad de terceros
  • Obtener del proveedor de identidad de terceros el dato de autenticación SAML del usuario
  • Enviar el dato de autenticación SAML al Servidor de aplicaciones
  • Recibir un ticket de autenticación del Servidor de aplicaciones
Este ticket puede utilizarse posteriormente en las solicitudes al Servidor de aplicaciones.
La cuenta de usuario debe existir en la base de datos de FlexiCapture y debe tener todos los permisos necesarios.

Implementación

Obtener dato SAML

El dato SAML del proveedor de identidad de terceros tiene el siguiente formato (este ejemplo es de OneLogin):
Para saber cómo obtener datos de autenticación de un proveedor de identidad de terceros, consulte la documentación de ese proveedor. Por ejemplo, OneLogin ofrece kits listos para usar para habilitar la autenticación SAML en varios lenguajes de programación.

Envíe dato SAML al Servidor de aplicaciones de FlexiCapture 12

Codifique el dato SAML en Base64 y envíelo al Servidor de aplicaciones mediante una solicitud POST a https://<Application Server>/Flexicapture12/Server/Saml. El nombre del campo que contiene el dato SAML debe ser SAMLResponse.
Si está utilizando un tenant, agregue el identificador del tenant a la URL del servidor, por ejemplo, https://<ApplicationServer>/Flexicapture12/Server/Saml?Tenant=MyTenantName Para que la autenticación funcione, debe haber un usuario registrado en el Servidor de aplicaciones cuyo login coincida con el identificador del dato SAML. Se utilizará como login el valor del campo /samlp:Response/saml:Assertion/saml:Subject/saml:NameID. El Servidor de aplicaciones devuelve una respuesta como esta:
El valor de la etiqueta <ticket> es el ticket de autenticación de FlexiCapture 12. Puede usar este ticket para realizar llamadas a todas las interfaces del Servidor de aplicaciones que requieran autenticación. Las solicitudes a los servicios web de FlexiCapture deben realizarse mediante la autenticación de FlexiCapture (direcciones que comienzan por https://<ApplicationServer>/flexicapture12/Server/FCAuth/ o https://<ApplicationServer>/flexicapture12/Server/MobileApp/).

Use el ticket autenticado de FC 12

Puede enviar el ticket al servidor mediante un archivo de cookies (el archivo debe llamarse FlexiCaptureTmpPrn) o un encabezado Authorization: Bearer. Ejemplo:
Recomendamos usar el encabezado. Las cookies se admiten por compatibilidad con soluciones más antiguas. Si la autenticación se realiza correctamente, la respuesta del servidor contendrá un valor de ticket actualizado tanto en un archivo de cookies con el mismo inicio de sesión (FlexiCaptureTmpPrn) como en el encabezado AuthTicket. La siguiente solicitud debe realizarse con el ticket actualizado (los tickets caducan después de cierto tiempo).

Configurar un certificado de confianza en el Servidor de aplicaciones

El Servidor de aplicaciones comprobará los datos recibidos del proveedor de identidad. Para que el Servidor de aplicaciones confíe en estos datos, deben estar firmados con un certificado personalizado emitido por una autoridad incluida en la base de datos de autoridades de confianza del Servidor de aplicaciones. Importe el certificado en la base de datos de ABBYY FlexiCapture. A partir de ese momento, los datos se comprobarán con este certificado. Para obtener más información, consulte Configurar Single Sign-On. Si la comprobación falla, el Servidor de aplicaciones consultará el parámetro AllowMixedModeCertificateValidation en la configuración <appSettings> del archivo Web.config. Si este parámetro está establecido en true, la comprobación se realizará con el certificado agregado a la carpeta Trusted Root Certification Authorities del almacén de certificados Equipo local del equipo en el que se ejecuta el Servidor de aplicaciones. Si no se agregan certificados a la base de datos, la comprobación se realizará con el certificado ubicado en la carpeta Trusted Root Certification Authorities, y el parámetro AllowMixedModeCertificateValidation se ignorará. Descargue el proyecto y los materiales complementarios: SAML_Example.zip