Diferencia entre revisiones de «SIU-Arai/usuarios/integracion-inicial-toba»
m |
(se documentan nuevos requerimientos de arai 2.0) |
||
Línea 12: | Línea 12: | ||
Es recomendable que el proyecto se gestione mediante composer para la instalación y actualización de librerías y dependencias. En la [http://toba.siu.edu.ar/trac/toba/wiki/Instalacion/Composer wiki] de SIU-Toba, se encuentra una referencia detallada de como realizar este paso. | Es recomendable que el proyecto se gestione mediante composer para la instalación y actualización de librerías y dependencias. En la [http://toba.siu.edu.ar/trac/toba/wiki/Instalacion/Composer wiki] de SIU-Toba, se encuentra una referencia detallada de como realizar este paso. | ||
− | Una vez se tenga el archivo <code>composer.json</code>, se debe editar y agregar la librería [https://hub.siu.edu.ar/siu-arai/arai-cli arai-cli] a la lista de dependencias. | + | Una vez se tenga el archivo <code>composer.json</code>, se debe editar y agregar la librería [https://hub.siu.edu.ar/siu-arai/arai-cli arai-cli] a la lista de dependencias. Si se utiliza la versión 3.0.22 o superior de SIU-Toba, no es necesario incluir arai-cli manualmente. |
<syntaxhighlight lang="bash" enclose="div" highlight="3"> | <syntaxhighlight lang="bash" enclose="div" highlight="3"> | ||
... | ... | ||
"require": { | "require": { | ||
− | "siu-toba/framework": " | + | "siu-toba/framework": "^3.0.22", |
− | "siu/arai-cli": " | + | "paragonie/halite": "1.6.0", |
+ | "siu/arai-cli": "^2.3.0" | ||
}, | }, | ||
... | ... | ||
Línea 34: | Línea 35: | ||
=== Integración con Toba-Usuarios === | === Integración con Toba-Usuarios === | ||
− | Si el proyecto utiliza la gestión de usuarios que proporciona SIU-Toba, este punto es transparente y no requiere de cambios adicionales. | + | Si el proyecto utiliza la gestión de usuarios que proporciona SIU-Toba, este punto es transparente y no requiere de cambios adicionales. |
+ | |||
+ | === Claves para encriptación === | ||
+ | A partir de la versión 2.0 de la plataforma, todo el intercambio que se produce entre un módulo y '''SIU-Arai: Registry''', requiere tener generado y configurado una clave que será utilizada para encriptar la información sensible. | ||
== Integrar al menú de aplicaciones == | == Integrar al menú de aplicaciones == |
Revisión del 14:41 18 may 2018
Sumario
Integrando una aplicación Toba
Requisitos previos
Utilizar la plataforma SIU-Arai
Es un poco obvio, pero es necesario contar con Arai-Registry y Arai-Usuarios funcionando adecuadamente, para poder registrar una aplicación y hacer uso del IdP e IdM que provee la plataforma.
Utilizar Composer
Es recomendable que el proyecto se gestione mediante composer para la instalación y actualización de librerías y dependencias. En la wiki de SIU-Toba, se encuentra una referencia detallada de como realizar este paso.
Una vez se tenga el archivo composer.json
, se debe editar y agregar la librería arai-cli a la lista de dependencias. Si se utiliza la versión 3.0.22 o superior de SIU-Toba, no es necesario incluir arai-cli manualmente.
"require": {
"siu-toba/framework": "^3.0.22",
"paragonie/halite": "1.6.0",
"siu/arai-cli": "^2.3.0"
},
...
Se elige siempre la última versión estable de arai-cli, de la rama master.
Luego de realizar el cambio, siempre se debe proceder a actualizar la lista de dependencias:
Integración con Toba-Usuarios
Si el proyecto utiliza la gestión de usuarios que proporciona SIU-Toba, este punto es transparente y no requiere de cambios adicionales.
Claves para encriptación
A partir de la versión 2.0 de la plataforma, todo el intercambio que se produce entre un módulo y SIU-Arai: Registry, requiere tener generado y configurado una clave que será utilizada para encriptar la información sensible.
Integrar al menú de aplicaciones
SIU-Toba proporciona una implementación de barra o lanzador de apliaciones, desde el cual se puede acceder a todas las aplicaciones integradas a la plataforma SIU-Arai (siempre y cuando tenga permiso de acceder el usuario particular). Esto se activa configurando el archivo proyecto.ini
y agregando la siguente entrada:
...
;Esta entrada activa el uso del appLauncher
app_launcher = 1
Integrar a Arai-Registry la aplicación
Gracias a la librería arai-cli, se pueden registrar las aplicaciones a la plataforma SIU-Arai de forma sencilla. En la documentación de Arai-Registry se describe mayores detalles al respecto.
Configurar las necesidades
Arai-Registry permite indicar que servicios consume y proporciona una aplicación. Para ello lo primero a realizar es crear un archivo llamado arai.json
que esté ubicado en la raíz del proyecto con el siguiente contenido:
"name": "institucion/proyecto",
"description": "UNI-Proyecto, aplicación",
"scripts": {
"hooks": "UNI\\Proyecto\\AraiRegistryHooks"
},
"consume": [
{
"name": "service:siu/sso-saml-idp",
"version": ">=0.1.0"
},
{
"name": "api:siu/arai-usuarios",
"version": ">=0.1.0",
"options": {
"toba-rest": [
{ "proyecto": "toba_usuarios", "rest-id": "rest_arai_usuarios" }
]
}
}
]
}
Es muy relevante establecer el atributo name y description con los valores deseados. Para el atributo hooks, se debe completar con la ruta o namespace del proyecto hasta la clase php. Esta se crea en el siguiente paso.
Hook de auto-configuración
El hook de configuración es una clase php que implementa la interfaz HooksInterface. Este archivo tiene una nomenclatura estándar, siempre se denomina AraiRegistryHooks y para proyectos SIU-Toba, extienden de RegistryHooksProyectoToba. Se deberá crear dicha clase dentro del directorio /src del proyecto, o en algún punto que esté configurado con el autoloader de composer. Suponiendo en este ejemplo, el archivo sería /src/UNI/Proyecto/AraiRegistryHooks.php
:
namespace UNI\Proyecto;
use SIUToba\Framework\Arai\RegistryHooksProyectoToba;
class AraiRegistryHooks extends RegistryHooksProyectoToba
{
}
Registrar el proyecto
Si todo está en orden, por única vez, el proceso de registración a la plataforma SIU-Arai de la aplicación se concreta haciendo uso de la librería previamente con el siguiente comando:
--maintainer nombre-encargado-admin \
--maintainer-email email-encargado-admin@uni.edu.ar \
http://url-arai-registry/arai-registry
Se debe proporcionar la url válida del servicio Arai-Registry, junto con los datos del administrador.
Siempre que registremos alguna aplicación a Araí-Registry, es necesario realizar un registr:sync
para que nuestra aplicación localmente tenga los datos más actualizados acerca de los diferentes servicios, aplicaciones y/o apis que querramos consumir. Además, si nuestra aplicación localmente agregó una nueva característica (ej. una api REST), este comando informará a Arai-Registry la buena nueva.
Este paso es necesario realizarlo también en Arai-Usuarios, para que este sistema se entere de la presencia de una nueva aplicación.
A partir de este momento, al ingresar al proyecto, este debiera de redirigirnos a la página de login centralizado de la plataforma SIU-Araí. Una vez el usuario ha ingresado, nos redirige nuevamente hacia la aplicación. La misma debiera de contar además con el menú de aplicaciones integrado.