Autenticación del usuario y autorización de operaciones de firma

El proceso de autenticación y autorización de operaciones de firma para un usuario, requiere la realización de los siguientes pasos:

  • Autenticación del sistema Cliente.
  • Solicitud de firma
  • Autenticación y autorización de la solicitud
  • Ejecución de la firma.

A continuación se describen los siguientes apartados del proceso.

Autenticación del sistema Cliente

Para realizar operaciones de firma proporcionadas por Viafirma Fortress es necesario obtener un token asociado al cliente.

Para ello, Viafirma Fortress ofrece el siguiente método Rest, disponible en:

{viafirma_fortress_url}/oauth2/v1/token

Donde:

Esta URL recibe una serie de parámetros, que configuran y preparan la petición de Firma realizada por un cliente:

{viafirma_fortress_url}/oauth2/v1/token?
scope=client&
redirect_uri={url_de retorno_definido_en_viafirma_fortress}&
client_id={codigo_del_cliente_definido_en_viafirma_fortress}&
client_secret={clave_del_cliente_definido_en_viafirma_fortress}&
grant_type=client_credentials
Parámetro Valor Descripción
scope client Para servicios asociado a firma de documentos.
redirect_uri URL Debe coincidir con una de las URL de retorno definidas en Viafirma Fortress
client_id Client ID definido en Viafirma Fortress Identifica a la aplicación cliente que está realizado la petición
client_secret Clave del cliente definido en Viafirma Fortress permite validar a la aplicación cliente que está realizado la petición
grant_type client_credentials Indica que el cliente solicita acceso a recursos protegidos bajo su control

Como resultado Viafirma Fortress, devolverá un objeto en formato application/json con la información del token de acceso asociado al cliente.

{
  "access_token": "1479cc2592a84cfb83c01402df613d01",
  "token_type": "Bearer",
  "expires_in": 3599
}

Errores del servicio

Los errores devueltos por el servicio (devueltos en formato application/json) tienen el siguiente aspecto:

{
  "error": "error_code",
  "error_description": "error_description"
}

Donde:

Parámetro Valor Descripción
error string Código del error
error_description string Descripción del error

Posibles errores:

Código de error Error
invalid_request Petición incorrecta. Alguno de los parámetros de entrada no es correcto. (HTTP Status: 400)
invalid_client Los parámetros asociados al cliente no son correctos(HTTP Status: 401)
redirect_uri_mismatch La URL indicada en el redirect_uri no está permitida (HTTP Status: 400)
invalid_grant Error al validar los permisos asociados al token (HTTP Status: 400)

Solicitud de firma

Con el token de sistema cliente obtenido de la anterior llamada, el cliente llamará al método /signature de Viafirma Fortress, proporcionándole la información a firmar digitalmente por parte del usuario.

En la siguiente sección encontrará la descripción en detalle del método signature, así como de los parámetros que recibe.

Una vez procesada la información Viafirma Fortress devolverá al sistema cliente un objeto en formato application/json, compuesto por un código de autorización y un código de ejecución

{
  "authCode": "124d6a9b5eaa470396a4db454780f6da",
  "exeCode": "96f1e73e5718438c8683846a2479d198"
}

Autenticación y autorización de la solicitud.

Una vez preparado el documento o los documentos a firmar, será necesario autenticar al usuario para poder realizar la firma.

Al igual que en el proceso a autenticación y autorización en operaciones de consulta, es necesario que el mismo se autentique con 1 o 2 factores de autenticación. Dependiendo de la configuración asociada al cliente de Viafirma Fortress, Viafirma Fortress puede solicitar un factor de autenticación o por el contrario Fortress forzará a que el usuario se autentique contra dos factores de autenticación de distinta categoría. Las categorías serán:

  • Algo que sé → Knowledge
  • Algo que tengo → Possession
  • Algo que soy → Inherence

Para realizar el proceso de autenticación de un usuario, Viafirma Fortress ofrece una interfaz web, disponible en:

{viafirma_fortress_url}/oauth2/v1/auth

Donde:

Dicha URL recibe una serie de parámetros, que configuran y preparan la petición de autenticación y autorización en el proceso de firma:

{viafirma_fortress_url}/oauth2/v1/auth?
signature_code={codigo_autorización_de_la_firma}
scope=signature&
client_id={codigo_del_cliente_definido_en_viafirma_fortress}&
redirect_uri={url_de retorno_definido_en_viafirma_fortress}
Parámetro Valor Descripción
signature_code Código de autorización de la firma Código de autorización de la operación de firma
scope signature signature: Para servicios asociado a la firma de documentos
redirect_uri URL Debe coincidir con una de las URL de retorno definidas en Viafirma Fortress
client_id Client ID definido en Viafirma Fortress Identifica a la aplicación cliente que está realizado la petición

Solicitar usuario a firmar

Si el cliente no informó el campo user_code asociado al usuario, en el objeto en formato application/json que empleó como parámetro en la llamada del método /signature, Viafirma Fortress solicitará el código de usuario que desea realizar la firma.

Seleccionar usuario

Cuando el usuario introduzca su código de usuario en Fortress, Viafirma Fortress lo validará y le mostrará el conjunto de factores de autenticación en los que en los que el usuario se encuentra enrolado.

Viafirma Fortress almacenará el usuario una vez validado por al menos un Factor de autenticación en las cookies del navegador, para no tener que repetir el proceso cada vez que el usuario intente interactuar con Viafirma Fortress.

usuario_cookie

Factores de autenticación

Viafirma Fortress, mediante los diferentes factores de autenticación en los que el usuario esté enrolado, deberá asegurar la identidad del usuario.

Los factores de autenticación activos se pueden determinar durante la instalación de Viafirma Fortress, modificando los valores de los atributos correspondientes, que siguen un patrón del tipo fortress.idp.{codigo_del_idp}.active (ver manual de instalación).

Selección Factor de autenticación

Durante todo el proceso de firma de documentos, el usuario podrá ver el número de documentos a firmar así como descargar los mismos.

Independientemente del Proveedor de Identidad seleccionado, en caso de éxito en la autenticación, se entiende que el usuario ha autorizado la operación y se devolverá el control a la aplicación cliente, redireccionando a la URL de retorno especificada en la configuración de la petición.

Proveedor de Identidad: Email

Se envía al email del usuario un código único, que deberá introducir en la pantalla de autorización una vez que lo reciba.

Token Email

Proveedor de Identidad: SMS

Se envía al teléfono móvil del usuario un SMS con un código único, que deberá introducir en la pantalla de autorización una vez que lo reciba.

SMS

Proveedor de Identidad: OTP

Es necesario disponer de la app (Android/IOS) que generará un código, actualizado cada cierto tiempo. El usuario deberá introducir el código en la pantalla de autorización antes de que el código expire.

OTP

Proveedor de Identidad: LDAP

Se solicitará la contraseña LDAP del usuario (la configuración del servicio LDAP se realiza durante la instalación de Viafirma Fortress).

LDAP

Proveedor de Identidad: PIN

Se solicitará el código Pin del usuario almacenado en Viafirma Fortress.

PIN

Proveedor de Identidad: Password

Se solicitará la password del usuario en Fortress.

PASSWORD

Proveedor de Identidad: PUSH

Se solicitará un código al usuario enviado a través de una notificación PUSH a la app de su dispositivo móvil.

PUSH

Seleccionar el certificado a emplear en la firma

Una vez que el usuario se ha autenticado correctamente usando alguno de los factores de autenticación disponibles, se mostrará la lista de certificados y certificados delegados del usuario (custodiados por Viafirma Fortress). Una vez que el usuario ha seleccionado uno de sus certificados, se devolverá el control a la aplicación cliente.

Certificados

Ejecución de la firma

Finalmente cuando el usuario seleccione un certificado, Viafirma Fortress devuelve al sistema cliente la siguiente información, para que ejecute la firma:

  • el certificado seleccionado
  • el estado de la ejecución
  • y la fecha de ejecución

results matching ""

    No results matching ""