Proceso de Autorización
Arai-Documentos como marco de un Proceso de Autorización
Resumen
Mediante esta funcionalidad la aplicacion que consume Araí-Documentos, puede enviar un Documento junto a un Proceso de Autorización, indicando los Usuarios que deben firmar este documento, para que finalmente se considere Autorizado.
Bajo esta funcionalidad la aplicación consumidora, enviará la información de los autorizantes que requiere un documento, esto puede hacerlo incluyendo los datos de autorización en el POST anterior, o realizar un PUT sobre un documento ya creado.
Requisitos
- Araí-Usuarios: debe enviarse el usuario que crea el documento y aquel o aquellos usuarios que deben autorizar
- Nuxeo: para guardar el documento original y versionar en caso de firma digital
- Configuraciones dentro de Araí-Documentos de credenciales requeridas para Arai-Usuarios y Nuxeo
- Conocer los Tipos de Documentos disponibles
- Metadatos requeridos (Ver campos obligatorios)
- Frontend para visualizar solicitudes pendientes de autorización (Huarpe SIUDocumentosBundle)
- Aplicación que implemente Firma Digital (solo en el caso que se utilice Firma Digital): SIU Firmador y FirmAR
Limitaciones
Araí-Documentos requiere que funcionen correctamente las aplicaciones que se integran para realizar Firma Digital, no realiza Firma Digital por si solo.
Los usuarios que pueden autorizar un documento son solo aquellos que se encuentren como usuarios en el Sistema de Usuarios conectado (Araí-Usuarios).
Los mecanismos de autorización provistos por Araí-Documentos siguen una estructura predeterminada por el momento que por el momento son:
Autorización Simple
Autorización Múltiple
Autorización en Cadena
Implementación
Casos |
---|
Caso 1 Se utiliza el POST para crear documento como en [Repositorio de documentos digitales](#Repositorio de documentos digitales) luego crea un Proceso de Autorizacion sobre este documento. Al finalizar el proceso de autorización se notifica a la App |
Caso 2 Se utiliza el POST para crear documento como en [Repositorio de documentos digitales](#Repositorio de documentos digitales) adicionando la información correspondiente en el json de "autorización", esto indicará que se debe crear el documento e introducirlo en un Proceso de Autorización. Al finalizar el mismo se notifica a la App. |
POST /backend/documentos
En el caso de enviar todo junto en el POST explicado en Repositorio de documentos digitales (se adicionará solo el json de autorización al request)
PUT /backend/documentos/{uid_documento}/autorizacion
En caso de enviar a Autorizar un documento ya creado mediante Repositorio de documentos digitales
Para mas información request ver documentación técnica
//TODO: Agregar link a documentación técnica
REQUEST
Campos obligatorios
Nombre | Tipo | Descripcion |
---|---|---|
id_usuario | string | Debe estar presente en Arai-Usuarios, corresponde al usuario que solicita la Autorización |
modelo | string | Ver Modelos de Autorizacion. Valores posibles: "simple" y "cadena" |
autorizacion | json | Objeto que contiene todos los datos para ejecutar el Proceso de Autorización |
autorizantes | array | Listado de usuarios que van a autorizar el documento, debe existir al menos uno. |
id_usuario_sso | string | Debe existir en Arai-Usuarios, son aquellos usuarios a los que se envía una Solicitud de Autorizacion |
nivel | string | Ver Nivel de Autorización. Valores posibles "firma" y "basica" |
secuencia | string | Solo es requerido requerido en el modelo "cadena", e indica el orden en que deben realizarse las autorizaciones |
{
"id_usuario": "string",
"url": "string",
"referencia_interna": {},
"autorizacion": [
{
"modelo": "simple|cadena",
"autorizantes": [
{
"id_usuario_sso": "string",
"nivel": "basica|firma",
"secuencia": "(requerido en cadena) integer"
}
]
}
]
}
Campos Adicionales:
Nombre | Tipo | Descripcion |
---|---|---|
referencia_interna | Json | Objeto json con datos de referencia interna que pueden ser utilizados por la aplicación que consume Arai-Documentos, para identificar el documento o algun proceso interno |
url | string | Relacionado a Notificar Aplicaciones. Se detalla en Notificaciones. Básicamente es una url donde se avisará a la aplicación que origina el documento cuando se realicen actualizaciones sobre el mismo. |
RESPONSE
Como existen dos mecanismos de crear la autorización, las respuestas son para cada uno de ellos:
POST /backend/documentos
Es igual a la respuesta en Repositorio de documentos digitales
PUT /backend/documentos/{uid_documento}/autorizacion
Devuelve un HTTP 201 que indica que la creación tuvo éxito.
Adicionalmente un Proceso de Autorización ejecuta un caso de uso mediante el cual el Usuario autoriza un Documento a partir de una Solicitud de Autorización, disponible en una bandeja de solicitudes (huarpe SIUDocumentosBundle). Ver Proceso de Autorización y Firma Digital