Saltar al contenido principal

SSO-Nidera

Ver en Git


El SSO de nidera lo desarolló una empresa que se llama Magoya. Le permite a los usuarios ingresar con una cuenta a un dashboard (lo que ellos llaman "el SSO") en el que se listan las aplicaciones a las que ese usuario tiene acceso. Al hacer click sobre una de las aplicaciones, se dirige al usuario al callback de la aplicación, que debe ser capaz de loguear al usuario en su sistema.

Auravant es una de esas aplicaciones. La integración se realiza con 3 servicios:

  • webhooks
  • callback
  • usuarios y sesiones

Los administradores del SSO “habilitan” a usuarios a acceder a auravant. Esto dispara un webhook a auravant (POST /integrations/nidera) de usuario creado, el cual debe crear dicho usuario en el espacio de nidera.

Cuando el usuario ingresa al callback (GET /integrations/nidera), nidera provee un id de sesion, el cual se debe recuperar para obtener de qué usuario se trata y loguearlo para luego redirigirlo a auravant.

SE provee un endpoint para extensiones (GET /integrations/nidera/session) que permite obtener el id de usuario y sesión de nidera.

Modelo de datos

En auravant se almacenan los usuarios de nidera y su usuario de auravant asociado, así como sus sesiones. tablas: sso_nidera_users y sso_nidera_sessions.

Es importante saber que se crean sesiones cada vez que un usuario de nidera ingresa al SSO, por lo que habrá múltiples por cada uno. Sólo la última es la válida.

Staging

En auravant hay dos espacios de nidera. Uno productivo y otro de staging.

EL entorno de staging de nidera tiene el webhook y el callback con URLs separadas, que etiquetan a los usuario como de staging o no para crearlos en el espacio correspondiente.