Conéctate a nuestra Plataforma de Códigos QR con SSO utilizando SAML 2.0

book reader icon
14 minutos
facebook logo gray
linkedin logo gray
mail logo gray
Conéctate a nuestra Plataforma de Códigos QR con SSO utilizando SAML 2.0

Este artículo te guiará sobre cómo conectar a tus usuarios con SSO a nuestra plataforma utilizando SAML 2.0. Esta función sólo está disponible para clientes empresariales.

Este artículo cubre la integración SSO con nuestra plataforma basada en un ejemplo con Okta.

Este post contiene detalles técnicos para administradores IAM o para tu departamento de TI que gestione el IDP. Por favor, ponte en contacto con un experto en TI para que te ayude a configurar la conexión SSO.

¿Qué es el SSO?

SSO significa Inicio de sesión único. Es un proceso de autenticación que permite a un usuario acceder a varios servicios, como nuestra plataforma de Código QR, con un conjunto de credenciales de inicio de sesión (como nombre de usuario y contraseña). Con el SSO, los usuarios no tienen que recordar contraseñas diferentes para cada aplicación que utilicen, lo que agiliza el proceso de inicio de sesión y mejora la seguridad al reducir la necesidad de múltiples credenciales. Una vez autenticado, el usuario puede navegar entre varias aplicaciones o servicios sin necesidad de volver a iniciar sesión.

¿Qué es SAML 2.0?

SAML son las siglas de Security Assertion Markup Language. Es un marco de trabajo basado en XML que se utiliza para intercambiar datos de autenticación y autorización entre las partes, en particular entre un proveedor de identidad (IDP) y un proveedor de servicios (SP).

Cómo funciona la Integración

En esta configuración de SSO, tu empresa actúa como Proveedor de Identidad (IDP) que nos proporciona los datos de los usuarios. Nuestra Plataforma de Marca Blanca actúa como Proveedor de Servicios (PS) que recibe los datos de los usuarios y les da acceso a nuestro sistema.

Visión general de la integración SSO simplificada
Visión general de la integración SSO simplificada

En tu sistema IDP vas a añadir nuestra Plataforma de Marca Blanca como un Cliente

La información básica sobre tu IDP y nuestro SP se intercambiará a través de las llamadas URL descriptoras. Detrás de estas URL hay archivos que describen el IDP o el SP con detalles para que la otra parte los procese automáticamente y ayuden en la configuración.

La información del usuario se va a enviar a través de un mensaje SAML 2.0. En este mensaje los datos se codifican en Atributos. Al enviar la información desde tu IDP, un Mapeador de salida está mapeando los campos internos de tu IDP, como nombre, apellidos, correo electrónico, etc. a Atributos SAML 2.0.

Cuando recibimos tu mensaje SAML 2.0 nuestro Mapeador de entrada transforma el Atributo SAML 2.0 de nuevo a nuestro formato interno e iniciaremos la sesión del usuario en nuestra plataforma.

Cómo conectarse a nuestra Plataforma de Códigos QR utilizando SSO

1. Entra en tu cuenta

Ve a nuestro sitio web e inicia sesión en tu cuenta de marca blanca. Una vez iniciada la sesión, ve a la configuración de tu Cuenta y selecciona la pestaña SSO

Inicio de sesión

Entrar
Formulario de inicio de sesión

2. Elige el tipo de SSO

Cuando te registras con un usuario de tu empresa en nuestra plataforma puedes elegir cómo puede acceder este usuario a la plataforma. Hay 2 escenarios diferentes posibles:

  • El usuario inicia sesión como usuario de marca blanca 1:1
  • El usuario puede iniciar sesión bajo diferentes usuarios de marca blanca 1:n
Tipos de SSO: 1 a 1 frente a 1 a muchos
Tipos SSO: 1 a 1 frente a 1 a muchos

Para continuar con la configuración de la conexión SSO debes elegir primero un Tipo SSO

Para que entiendas los conceptos lo más rápidamente posible, utilizaremos un ejemplo durante este artículo. Hagamos las siguientes suposiciones:
  • Los usuarios Adam, Eve y Steve trabajan en tu empresa y necesitan acceder a la Plataforma Marca Blanca.
  • Estás utilizando Okta como Proveedor de Identidad (IDP) en tu empresa. Si no tienes Okta sino otro IDP no tienes por qué preocuparte. Aunque los pasos no sean completamente iguales, serán bastante similares.

Crear Usuario (1:1)

1 Usuario IDP está asignado a 1 Usuario Marca Blanca
1 Usuario IDP está asignado a 1 Usuario Marca Blanca

Selecciona Usuario si quieres que a un usuario de tu Proveedor de Identidad (="Usuario IDP") se le asigne exactamente un (1:1) usuario marca blanca individual.

Cuando un Usuario IDP inicie sesión por primera vez, se creará el correspondiente Usuario Marca Blanca. En el ejemplo anterior, el Usuario PDI Adán se creará como Usuario Marca Blanca Adán cuando se registre por primera vez.

Crear Subcuenta (1:n)

En este escenario, supongamos como ejemplo que la plataforma de Marca Blanca tiene un usuario para el departamento de Marketing y otro para el departamento de Servicio al cliente.
1 Usuario IDP está asignado a 1 o más Usuarios Marca Blanca
1 Usuario IDP está asignado a 1 o más Usuarios Marca Blanca

Selecciona Subcuenta si quieres que un usuario de tu Proveedor de Identidad (="Usuario IDP") se mapee a uno o más (1:n) usuarios de marca blanca.

En el ejemplo anterior, los usuarios IDP Adam y Eve pueden utilizar los Usuarios Marca Blanca Marketing y Servicio al Cliente. El Usuario IDP Steve sólo puede utilizar el Usuario Marca Blanca Servicio al Cliente

Antes de que se puedan utilizar a través de SSO asegúrate de que estos dos usuarios están creados en la Plataforma de Marca Blanca creándolos a través del menú Usuarios en la parte izquierda y luego Crear Usuario.

Después de la creación, la lista de Usuarios debería tener este aspecto:

Haz clic en Usuarios en la parte izquierda y luego en Crear usuario
Haz clic en Usuarios en la parte izquierda y luego en Crear usuario
Inspiración: Los Usuarios de Marca Blanca no tienen por qué estar basados en un departamento como Marketing o Atención al Cliente. Sólo usamos esto aquí
como ejemplo.
También es bastante común que haya un Usuario Marca Blanca distinto para cada
  • País (Austria, España, Italia, Brasil, etc.) y/o
  • Marca (MarcaA, MarcaB, MarcaC, etc.) y/o
  • Línea de productos (Zapatos, Camisas, Chaquetas, etc.)

El caso de uso puede ser diferente para cada empresa. Por tanto, piensa en cómo tendría más sentido para tu empresa.

Un Usuario IDP actuará entonces como un líder de equipo y podrá elegir bajo qué usuario de marca blanca quiere registrarse. Así, Adán y Eva pueden elegir si quieren registrarse como usuario de marca blanca Marketing o Servicio al cliente

3. Introduce la URL del Descriptor IDP SAML 2.0

Introduce la URL del descriptor IDP SAML 2.0 de tu proveedor de identidades
Enter SAML 2.0 IDP Descriptor URL de tu proveedor de identidades

Después de haber elegido el Tipo SSO, tienes que introducir la URL del Descriptor IDP SSO de tu Proveedor de Identidades. Esto es necesario para que podamos obtener información básica sobre cómo conectar y autenticar a tus usuarios con SAML 2.0.

4. Configura las URL del Servicio de Proveedor de Identidad

Comprueba la URL del servicio de inicio de sesión SSO y la URL del servicio de cierre de sesión SSO y cámbialas si es necesario
Comprueba la URL del servicio de inicio de sesión SSO y la URL del servicio de cierre de sesión SSO y cámbialas si es necesario

Una vez que hayas introducido la URL del Descriptor IDP OSSO, las URL de los servicios se extraen de la URL del Descriptor y los campos de la URL del Servicio de Inicio de Sesión OSSO y la URL del Servicio de Cierre de Sesión OSSO se rellenan previamente.

Si no se muestra ninguna URL, introdúcela manualmente. La URL del Servicio de Cierre de Sesión SSSO es opcional. Si se establece la URL, el usuario será redirigido a esta URL cuando cierre sesión en la plataforma del Código QR. Opcionalmente, también podrá cerrar sesión desde su IDP.

5. Comprueba el mapeo de entrada SSO IDP

Después de definir la URL del Descriptor IDP SSSO y las URL del Servicio del Proveedor SSSO es necesario especificar en qué formato se nos transfiere el Usuario IDP en el mensaje SAML.

Ya te proporcionamos valores estándar para los Nombres de Atributos de nombre, apellidos, correo electrónico y teléfono. Sin embargo, comprueba cómo exporta los campos tu IDP (Mapeo de salida), ya que puede que sea necesario cambiar estos valores.

Por favor, comprueba cómo exporta los campos tu IDP (Mapeo de salida)

Vamos a evaluar cómo funciona el mapeo en un sistema Okta IDP.

Ejemplo de asignaciones salientes SAML de IDP en Okta
Ejemplo de asignaciones salientes SAML de IDP en Okta

Como puedes ver en la captura de pantalla anterior, los campos IDP de la derecha se asignan al atributo de mensaje SAML de la izquierda de la siguiente forma:

  • nombre: el campo de perfil IDP usuario.firstName se envía en el mensaje SAML como atributo firstname
  • last name: el campo de perfil IDP user.lastName se envía en el mensaje SAML como atributo lastname
  • email: el campo de perfil IDP user.email se envía en el mensaje SAML como atributo email

Comparemos esos valores con la configuración del portal de marca blanca en el conjunto de campos SSO IDP Inbound Mapping

Nombres de atributos de mapeo de entrada
Nombres de atributos de mapeo de entrada

Como puedes ver en la siguiente tabla comparativa, todos los campos tienen el mismo nombre (firstname=nombre, lastname=apellido, email=correo electrónico) y no necesitas cambiar los nombres de los atributos en el área Mapeo de entrada IDP de OSSO

I IDP
profile field name
II SAML message attribute name (Outbound Mapping)
III White LabelSSO IDP Inbound Mapping
user.email
email
email
user.firstNamefirstnamefirstname
user.lastNamelastnamelastname

Si los valores de la columna II y III son diferentes, tienes que cambiar la entrada del Portal en la sección Mapeo de entrada IDP OSOS por el valor de la columna II.

6. Inicializar conexión

Por último, haz clic en el botón Conectar de la parte inferior para inicializar la conexión con tu IDP.

Conectar

Haz clic en el botón Conectar para establecer una conexión entre tu Proveedor de Identidades y nuestra plataforma
no-shadow

Entonces se te presentará la URL del Descriptor del Proveedor de Servicios. Esta URL puede ser utilizada por tu administrador IAM/departamento de TI para finalizar la configuración por su parte.

Copia la URL del descriptor del proveedor de servicios SSO a tu IDP
Copia la URL del descriptor del proveedor de servicios SSO a tu IDP

Puedes copiar esta URL mediante el icono de copia situado en el extremo derecho del campo.

En Okta, ve a Aplicación > Tu aplicación > General > Configuración SAML > Editar y pega la URL del descriptor del proveedor de servicios al final en URL de inicio de sesión único y URI del público (ID de la entidad SP) en la pestaña Configurar SAML como se muestra en la captura de pantalla siguiente.

Copia la URL del Descriptor del Proveedor de Servicios en Okta
Copia la URL del Descriptor del Proveedor de Servicios en Okta

Ahora haz clic en Siguiente, y en el botón Finalizar.

7. Prueba el inicio de sesión SSO

Una vez que hayas configurado la conexión, verás un nuevo botón de inicio de sesión Inicio de sesión SSo en la pantalla de inicio de sesión. Haz clic en el botón para ver si el flujo de inicio de sesión funciona.

Botón de inicio de sesión SSO
Botón de inicio de sesión SSO

También puedes marcar el punto final de inicio de sesión SSO directo que se muestra en la configuración SSO en la parte inferior.

SSO Login Endpoint
SSO Login Endpoint

Mapeo de Roles en el Proveedor de Identidades

Si has seleccionado el tipo de SSO Subcuenta (1:n) necesitas proporcionar la información de qué Usuario IDP debe tener acceso a qué Usuario Marca Blanca.

Por lo general, los Nombres de Usuario de Marca Blanca permitidos se almacenan de una de las dos formas posibles en el Proveedor de Identidades:

Nombres de Usuario de Marca Blanca permitidos

A. Almacenando los Nombres de Usuario de Marca Blanca permitidos como un Rol normal en el IDP

En ese caso, crea un Rol adicional para cada Usuario Marca Blanca. El nombre del rol debe ser idéntico al nombre del usuario Marca Blanca.

Para seguir nuestro ejemplo anterior, tienes que crear los dos roles Comercialización y Servicio al cliente.

Servicio al cliente

Ahora asigna el rol Marketing a Adam, Eve y Steve. El rol ServicioCliente se acaba de asignar a Adam y Eve ya que Steve no debe poder acceder al usuario ServicioCliente.

Nombre de atributo para nombres de usuario de marca blanca
Nombre de atributo para nombres de usuario de marca blanca

Debes establecer el Nombre de Atributo correcto que contenga esta información en el campo Nombres de Usuario de la Etiqueta Blanca en las Asignaciones de Entrada IDP OSOS. En este caso sueles introducir "Rol". Dependiendo de tu sistema IDP o de tu configuración, el nombre podría ser diferente.

B. Almacenando los Nombres de Usuario de Marca Blanca permitidos en un campo personalizado en el perfil de usuario en el IDP

En ese caso, crea un campo personalizado, por ejemplo AllowedWhiteLabelUsers, en el perfil de usuario en el Proveedor de Identidades.

Perfiles de usuario permitidos

De nuevo, utilizamos el IDP Okta como ejemplo. Ve a Directorio > Editor de Perfiles > Usuario (por defecto) y haz clic en Añadir Atributo

Ejemplo de cómo almacenar los Usuarios de Marca Blanca permitidos en un IDP (Okta)
Ejemplo de cómo almacenar los Usuarios de Marca Blanca permitidos en un IDP (Okta)
Como tipo de campo elige "desplegable", "matriz de cadenas" o cualquier otro tipo que proporcione una lista de valores posibles. Cada valor debe coincidir con un nombre de usuario que hayas creado en la plataforma Marca Blanca.

En nuestro ejemplo, esto significaría que creas los posibles valores Marketing y Servicio al cliente para el campo personalizado Usuarios de Marca Blanca permitidos.

Ahora elige para cada Usuario IPD que deba poder acceder a la plataforma Marca Blanca el nombre correspondiente del Usuario Marca Blanca del desplegable Usuarios de Marca Blanca permitidos.

elige usuario Marca Blanca para el usuario IDP (ejemplo en Okta)
elige usuario Marca Blanca para el usuario IDP (ejemplo en Okta)

En nuestro ejemplo, por tanto, elegiríamos los valores Marketing y Servicio al cliente para los usuarios IDP Adam y Eve. Para el usuario IDP Steve sólo elegiríamos el valor Servicio al cliente

Debes establecer el Nombre de Atributo correcto que contenga esta información en el campo Nombre de Atributo de los Nombres de Usuario de la Marca Blanca en las Mapas de IDP de OSSO.

Valor personalizado "AllowedWhiteLabelUsers" para nombres de usuario de marca blanca
Valor personalizado "AllowedWhiteLabelUsers" para nombres de usuario de marca blanca

En nuestro ejemplo hemos utilizado "AllowedWhiteLabelUsers".

Caso especial: Inicio de sesión de administrador/gestor mediante SSO

Tu usuario administrador puede iniciar sesión en nuestra plataforma de marca blanca directamente mediante nombre de usuario y contraseña por defecto. Sin embargo, también es posible utilizar SSO para iniciar sesión como administrador o gestor.

Para ese caso hay 2 Roles especiales disponibles: whitelabel_admin y whitelabel_manager

Por lo general, la información sobre si un usuario IDP es un administrador de marca blanca o un gestor de marca blanca se almacena de una de las dos formas posibles en el Proveedor de Identidades:

A. Almacenando los derechos de acceso de Administrador/Gerente como un Rol normal en el IDP

En ese caso creas dos Roles adicionales llamados whitelabel_admin y whitelabel_manager.

Ahora asigna el rol whitelabel_admin a los usuarios de IDP que deban ser admin, y whitelabel_manager a los usuarios de IDP que deban ser manager.

Nombre de atributo para nombres de usuario de marca blanca
Nombre de atributo para nombres de usuario de marca blanca

Debes establecer el Nombre de Atributo correcto que contenga esta información en el campo Nombres de Usuario de la Etiqueta Blanca en las Mapas de Entrada IDP OSSO. En este caso sueles introducir "Role". Dependiendo de tu sistema IDP o de tu configuración, el nombre podría ser diferente.

B. Almacenando los derechos de acceso de administrador/gestor en un campo personalizado del perfil de usuario en el IDP

En ese caso, crea un campo personalizado, por ejemplo AllowedWhiteLabelUsers, en el perfil de usuario en el Proveedor de Identidades.

De nuevo, utilizamos el IDP Okta como ejemplo. Ve a Directorio > Editor de Perfiles > Usuario (por defecto) y haz clic en Añadir Atributo

Caso Especial: si ya has creado el campo PermitidoEtiquetarBlancoUsuarios debido al tipo de SSO Subcuenta (1.:n) entonces en su lugar sólo tienes que desplazarte hacia abajo en la lista de atributos hasta que encuentres el campo PermitidoUsuariosEtiquetaBlanca y hacer clic en editar (icono del lápiz).

Ejemplo de cómo almacenar los derechos de acceso de administrador/gestor en un IDP (Okta)
Ejemplo de cómo almacenar los derechos de acceso de administrador/gestor en un IDP (Okta)

Como tipo de campo elige "desplegable", "array de cadenas", o cualquier otro tipo que proporcione una lista de posibles valores. Introduce los dos valores posibles whitelabel_admin y whitelabel_manager.

Ahora elige para cada UsuarioIDP que deba ser un administrador o un gestor de la plataforma de Marca Blanca el valor correspondiente whitelabel_admin o whitelabel_manager del desplegable AllowedWhiteLabelUsers.

En nuestro ejemplo daríamos al usuario IDP Juan los derechos de administrador.

elige Admin/Gestor para el usuario IDP (ejemplo en Okta)
elige Admin/Gestor para el usuario IDP (ejemplo en Okta)

Debes establecer el Nombre de Atributo correcto que contenga esta información en el campo Nombre de Atributo de los Nombres de Usuario de la Etiqueta Blanca en las Mapas de IDP de OSSO

Valor personalizado "AllowedWhiteLabelUsers" para nombres de usuario de marca blanca
Valor personalizado "AllowedWhiteLabelUsers" para nombres de usuario de marca blanca

En nuestro ejemplo utilizamos "AllowedWhiteLabelUsers".

Primer inicio de sesión de un usuario SSO

En esta sección verás cómo queda la cuenta de marca blanca tras el primer inicio de sesión de los usuarios para los 2 tipos diferentes de SSO.

SSO Tipo Usuario (1:1)

Cuando un usuario IDP se conecta por primera vez mediante SSO, se crea un usuario Marca Blanca con el mismo nombre. En el siguiente ejemplo puedes ver a los 3 usuarios IDP Adam, Eve y Steve creados como usuarios Marca Blanca en la sección Usuario.

Un usuario IDP se asigna a un usuario Marca Blanca
Un usuario IDP se asigna a un usuario Marca Blanca

SSO Tipo Subcuenta (1:n)

Si un usuario IDP inicia sesión en nuestra plataforma por primera vez, se crea una subcuenta con el rol SSO y se asignan los usuarios Marca Blanca correspondientes a esa subcuenta. Puedes ver las subcuentas en la sección Cuentas de la pestaña Subcuentas.

Subcuenta para usuario IDP
Subcuenta para usuario IDP

La siguiente captura de pantalla muestra al usuario IDP Adam asignado a los usuarios Marca Blanca Marketing y Servicio al Cliente.

Subcuenta con usuarios asignados
Subcuenta con usuarios asignados

SSO Depuración

Para depurar la comunicación SAML 2.0 entre tu proveedor de identidades (IDP) y nuestro proveedor de servicios (SP) puedes instalar el complemento de navegador SAML-tracer.

Browser Plugin SAML-tracer
Browser Plugin SAML-tracer

Después de abrir la ventana emergente SAML-tracer...

  1. Comienza con un proceso de inicio de sesión SSO
  2. Verás que la lista de la parte superior de la ventana emergente se llena de peticiones HTTP.
  3. Haz clic en la solicitud que esté marcada como solicitud SAML en color naranja.
  4. Elige la pestaña Resumen (o SAML para ver todos los detalles en formato XML). Puedes comprobar si los datos (por ejemplo, el rol) se han transferido correctamente. En este caso se ha transferido el rol whitelabel_admin. Esto es exactamente lo que necesitamos para que este usuario inicie sesión como administrador del portal de etiqueta blanca.
Última actualización hace 2 mess