Saltar al contenido principal
La Okta Integration Network (OIN) es un catálogo de aplicaciones SaaS para las que Okta ofrece una experiencia de configuración exprés para habilitar el inicio de sesión único (SSO) con OpenID Connect, el aprovisionamiento automatizado de usuarios con SCIM y el cierre de sesión universal. Los administradores de Okta usan la Okta Admin Console para configurar estas integraciones dentro de su inquilino de Okta:
Consola de administración de Okta
Express Configuration permite a los clientes empresariales configurar de forma segura integraciones de identidad con aplicaciones SaaS sin necesidad de copiar y pegar valores de configuración específicos de cada protocolo. Express Configuration ofrece estos beneficios a los administradores de Okta y a los desarrolladores de aplicaciones SaaS:
  • Reduce el tiempo necesario para configurar una instancia de aplicación al automatizar el intercambio de información de configuración entre Okta y Auth0.
  • Utiliza flujos de consentimiento de OAuth 2.0 para compartir de forma segura y autorizada datos de configuración confidenciales, lo que reduce posibles errores relacionados con credenciales y opciones de configuración.
  • Simplifica y estandariza el proceso de implementación de la integración. El flujo de trabajo automatizado permite implementaciones coherentes y repetibles de integraciones de aplicaciones en varios clientes o entornos, lo que favorece un ecosistema de aplicaciones escalable con menos margen para el error humano.
  • Elimina la complejidad de la configuración manual, lo que permite a los administradores de clientes de Okta añadir rápidamente instancias de integraciones de OIN habilitadas para Auth0.

Cómo funciona

La API de Express Configuration permite que las aplicaciones de Auth0 publicadas en la OIN para clientes utilicen Express Configuration en una conexión de Okta. Express Configuration es compatible con OpenID Connect, SCIM y Universal Logout dentro de una Organización de Auth0. Revise el flujo de trabajo de Express Configuration para una aplicación de Auth0 en la OIN:
flujo de trabajo de Express Configuration para una aplicación de Auth0 en la OIN.
  • Un administrador de Okta inicia sesión en el portal de Okta y selecciona en la OIN la aplicación con Express Configuration habilitado.
  • El administrador de Okta va a la sección Sign On y selecciona Express Configure SSO & UL. Esto lo redirige a una pantalla de Auth0 Universal Login.
consola de administrador de Okta > Sign On > Express Configuration
  • El administrador de Okta introduce las credenciales de un usuario de la aplicación que tiene permiso para realizar Express Configuration. En Auth0, esto se refiere a un usuario que es miembro de una organización y está autorizado para realizar Express Configuration mediante un rol de organización u otro método de autorización.
inicio de sesión en la Organización de Auth0
  • Después de autenticarse, Auth0 solicita el consentimiento del administrador de Okta.
consentimiento de Auth0
  • Después de otorgar su consentimiento, Okta usa la API de Express Configuration para configurar automáticamente una conexión de Okta dentro de la organización de Auth0 a la que pertenece el administrador de Okta.
  • Después, el administrador de Okta puede asignar usuarios a la instancia de la aplicación y ver el inicio de sesión único funcionando de inmediato.
Los desarrolladores de Auth0 también pueden configurar su integración de OIN para permitir Express Configuration de SCIM y Universal Logout; se recomiendan ambos:
  • Cuando SCIM está habilitado, los administradores de Okta pueden configurar SCIM yendo a la sección Provisioning de los detalles de la aplicación y seleccionando Express Configure SCIM.
  • Cuando Universal Logout está habilitado, se configura automáticamente como parte de la integración de OpenID Connect.

Requisitos previos

Para publicar una aplicación en el OIN con Express Configuration habilitado, debe contar con lo siguiente:
  • Una organización de Okta Integrator Free Plan, con acceso al rol Super Admin o a los roles App Admin y Org Admin.
  • Una suscripción a Auth0 que habilite el uso del tipo de conexión de Okta y de la funcionalidad de Organizaciones para tantos clientes como necesite.
  • Una aplicación SaaS integrada con Auth0 mediante una arquitectura multi-organización.
  • Una Organización de Auth0 implementada, o que pueda implementarse, para cada cliente que use Express Configuration. Las organizaciones y los roles organizacionales se usan para autorizar a usuarios específicos a realizar Express Configuration y crear conexiones de Okta solo dentro de las organizaciones a las que pertenecen.
  • Su inquilino de Auth0 debe tener deshabilitada la configuración de inquilino Enable Application Connections.
Sugerencia: Para ver una aplicación de ejemplo que implemente una arquitectura multiinquilino, incluidas las Organizaciones de Auth0 y los roles organizacionales, consulte la aplicación de referencia SaaStart.

Configure su aplicación para Express Configuration

El Auth0 Dashboard guía a los desarrolladores de Auth0 para habilitar Express Configuration en su aplicación y publicarla en OIN. Se requiere un rol de Auth0 Admin en un inquilino de producción de Auth0 para completar el proceso completo de configuración y publicación.
OIN en Auth0 Dashboard
Configure los siguientes componentes de Auth0 para configurar Express Configuration en su inquilino:

Registrar una aplicación con la plantilla de URI de inicio de sesión

  1. Registra tu aplicación como una Regular Web Application o una Single-Page Application en Auth0 Dashboard.
  2. Una vez registrada, selecciona la aplicación que creaste y ve a la pestaña Okta Integration Network para iniciar el asistente de configuración de Express Configuration.
  3. Selecciona Comenzar.
  4. Revisa los requisitos previos y selecciona Continuar.
  5. Registra una Plantilla de URI de inicio de sesión. Esta plantilla implementa un endpoint en tu aplicación que redirige automáticamente a los usuarios finales al endpoint /authorize de Auth0 para autenticarse. Para ver un ejemplo de un endpoint de inicio de sesión, consulta la ruta /login en la guía de inicio rápido del SDK de Express.
    • Una vez que se inicia Express Configuration para una instancia de la aplicación, Okta usa la Plantilla de URI de inicio de sesión para abrir la aplicación desde el panel del usuario final.
    • (Opcional) Establece organization_name, organization_id, y connection_name para el endpoint /authorize de Auth0 a fin de identificar la organización o conexión que se usará. Okta reemplaza dinámicamente estas variables cuando la URL se abre desde el panel del usuario final. Ejemplo: https://{organization_name}.your-app.com?connection={connection_name}.
Dashboard>Applications>OIN>URI-template
Ejemplos de URI de inicio de sesión: https://your-app.com/login
https://your-app.com/login?connection={connection_name}
https://{organization_name}.your-app.com?connection={connection_name}

Perfil de conexión

En la plantilla de URI de inicio de sesión, puede agregar un Perfil de conexión. El Perfil de conexión permite que Auth0 especifique cómo deben configurarse los ajustes privados de sus conexiones cuando se crean con Express Configuration, incluidos los ajustes que determinan cómo interactúa la conexión con las funciones Universal Login y Organizaciones de Auth0:
  • Opciones para definir cómo debe crearse el nombre de la conexión en Auth0
    • Opciones para usar SCIM y/o Universal Logout con la conexión (Recomendado)
    • Opciones para permitir que los usuarios finales de la conexión se conviertan automáticamente en miembros de la organización del administrador que dio su consentimiento
    • Opciones para el ajuste Show as button de la conexión en la página de Universal Login de Auth0
Si no tiene configurado un Perfil de conexión, Auth0 proporciona un Perfil de conexión predeterminado con ajustes comunes y recomendados para las conexiones configuradas con Express Configuration. Para obtener información sobre cómo personalizar el CP predeterminado, consulte Perfil de conexión.

Perfil de atributos de usuario

En la plantilla de URI de inicio de sesión, tiene la opción de agregar un Perfil de atributos de usuario. El Perfil de atributos de usuario (UAP) permite a los desarrolladores de Auth0 definir, gestionar y asignar atributos de usuario de forma coherente en los distintos protocolos compatibles con Auth0. Cuando se usa con Express Configuration, el Perfil de atributos de usuario permite a los desarrolladores personalizar los mapeos de atributos de OpenID Connect y SCIM que se escribirán en la conexión de Okta generada por Express Configuration. Si no tiene configurado un Perfil de atributos de usuario, Auth0 proporciona un Perfil de atributos de usuario predeterminado con mapeos comunes y recomendados para todos los protocolos, incluidos OpenID Connect y SCIM, que utiliza el tipo de conexión de Okta. Para obtener información sobre cómo personalizar el UAP predeterminado, consulte Perfil de atributos de usuario.

Configuración de inicio de sesión de la organización

Se requiere Organizaciones de Auth0 para autorizar a usuarios específicos de la organización a crear conexiones aisladas, pero no es necesario cambiar el flujo de inicio de sesión actual de su aplicación para admitir el flujo de inicio de sesión basado en organizaciones para usuarios empresariales.
  • Si su aplicación usa actualmente una experiencia de inicio de sesión Identifier-First y detección del dominio de origen, consulte la sección Enabling Home Realm Discovery para obtener información sobre cómo habilitar detección del dominio de origen.
  • Si desea habilitar varias aplicaciones en enabled_clients para usarlas con sus conexiones de Express Configuration, consulte Enabling Multiple Auth0 Applications Under a Single Integration.
Si la configuración de su aplicación no usa actualmente un flujo de inicio de sesión basado en organizaciones, puede seleccionar la opción Habilitar esta aplicación para las conexiones creadas. Al habilitarla, cada Express Configuration de una conexión de Okta se asocia directamente con su aplicación. Use la configuración obligatoria enabled_clients en la conexión. Cuando Express Configuration está habilitado, Auth0 crea un ID adicional de aplicación cliente que la OIN usa durante el flujo de consentimiento del administrador entre Okta y Auth0. Okta crea un cliente OIN por cada integración de aplicación distinta publicada en la OIN. Configure los ajustes de inicio de sesión y consentimiento del administrador en la aplicación que desea publicar en la OIN, en Configure Integration Profile.
  1. Vaya a Auth0 Dashboard > Applications.
  2. Elija la aplicación que desea publicar en la OIN.
  3. Seleccione Okta Integration Network.
  4. Verifique que cumple con los requisitos previos necesarios y seleccione Continue.
  5. En la sección Configure Integration Profile, configure las opciones de Admin Settings.
Configuración de administrador de Express Configuration
  • Admin Login Domain: dominio del inquilino de Auth0 al que Okta redirige como parte del flujo de consentimiento en un navegador web. Use el nombre de dominio personalizado si tiene uno configurado en Auth0. Para obtener más información, consulte Custom Domains.
    • Display Name of the OIN Express Configuration Application: nombre de la aplicación cliente de OIN que se muestra en el cuadro de diálogo de consentimiento.
    • Admin Login Flow: define el flujo de inicio de sesión de la organización para la aplicación cliente de OIN y se usa cuando un administrador de Okta ejecuta Express Configuration desde la consola de Okta. Seleccione una de las siguientes opciones:
      • Prompt for Organization: primero se pide a los administradores que seleccionen su Organización y se les muestra la experiencia de inicio de sesión de su Organización de Auth0. Los administradores pueden iniciar sesión con una conexión existente configurada en esa organización.
      • Prompt for Credentials: primero se pide a los administradores que proporcionen sus credenciales de inicio de sesión. Cuando se selecciona esta opción, aparecerá un botón que le permitirá seleccionar las conexiones que contienen a los usuarios administradores. Puede tratarse de una conexión de base de datos compartida, una conexión de correo electrónico sin contraseña o cualquier otra conexión que pueda asociarse con todas las Organizaciones de Auth0.
    • Admin Role: para realizar Express Configuration, al administrador se le deben asignar los permisos adecuados. Lea Assign express configuration permissions to users para obtener instrucciones sobre cómo autorizar a los administradores de la manera que mejor se adapte a su implementación actual de Auth0.
Para ofrecer la mejor experiencia de consentimiento, establezca la marca use_scope_descriptions_for_consent de su inquilino en true, como se describe en Customize Consent Prompts. Más adelante, cuando pruebe y verifique su integración, tendrá la oportunidad de ver la pantalla de consentimiento.

Asignar permisos a los usuarios

Para Okta, los administradores deben tener una cuenta de usuario de la aplicación con los permisos necesarios para realizar Express Configuration en una aplicación SaaS con tecnología de Auth0. Para Auth0, se puede conceder este permiso a cualquier usuario de la aplicación, siempre que sea miembro de una Organización de Auth0 en la que se creen las conexiones configuradas con Express, incluidas:
  • Un usuario en una conexión de base de datos dedicada creada exclusivamente para una sola Organización
  • Un usuario en una conexión de base de datos compartida que sea miembro de una o más Organizaciones
  • Un usuario con una conexión de correo electrónico sin contraseña que sea miembro de una o más Organizaciones
  • Un usuario en una conexión social o empresarial existente que sea miembro de una o más Organizaciones
Una vez que se cumplen estas condiciones, Auth0 ofrece formas flexibles de asignar permisos de Express Configuration y permite a los desarrolladores elegir el método más adecuado para su implementación actual de Auth0:
MétodoRecomendado para…
Asignar permisos de Express Configuration a un rol de usuario existenteClientes con un rol de usuario de aplicación ya existente en su inquilino de Auth0.
Asignar un nuevo rol a los usuarios de la aplicación que necesitan permisos de Express Configuration, como se muestra en la aplicación de referencia SaaStart.Clientes que desean usar la función de rol de Auth0 para conceder permisos de Express Configuration a usuarios individuales. Esto se puede hacer con Auth0 Dashboard o la Management API.
Usar una Action de Post-Login para asignar permisos dinámicamente mediante control de acceso basado en atributosClientes que actualmente no usan la función de rol de Auth0 y prefieren usar una Action de Post-Login para asignar permisos dinámicamente en función de los atributos del usuario, en lugar de usar Auth0 Dashboard o hacer llamadas a la Management API para asignar roles.
Para obtener consejos sobre cómo aprovisionar cuentas de administrador para usar Express Configuration, consulte Customer Enablement.

Asignar permisos a un rol de usuario de aplicación existente

Use este método para asignar permisos de Express Configuration si usa la funcionalidad de RBAC de Auth0 para los roles de la aplicación y los permisos de la API, y ya tiene uno o más roles que representan a un usuario administrador que se asignaría a un administrador de TI encargado de implementar la aplicación. Permisos de API necesarios:
Nombre del permisoIdentificador de la API (servidor de recursos)
express_configure:ssourn:auth0:express-configure
express_configure:scimurn:auth0:express-configure
Para obtener más información sobre cómo asignar roles en Auth0 Dashboard y Management API, consulte Agregar permisos a roles.

Asignar un nuevo rol a los usuarios de la aplicación

Utilice este método para asignar permisos de Express Configuration si usa la función RBAC de Auth0 para los roles de la aplicación y los permisos de la API, pero no tiene un rol que represente a un usuario administrador, como un administrador de TI, al que se asignaría la implementación de la aplicación. Este método también es adecuado para los desarrolladores de Auth0 que actualmente no usan la función RBAC de Auth0, pero quieren utilizarla para obtener un control más granular sobre qué usuarios pueden acceder, ya sea mediante el Auth0 Dashboard o la Management API.

Crear un rol

Use Auth0 Dashboard, Management API o Auth0 CLI para crear roles. En este ejemplo se usa Auth0 CLI:
auth0 roles create \
  --name "EXPRESS_CONFIGURE_ADMIN_ROLE" \
  --description "Administrator role for Express Configuration"

Asignar permisos al rol

Asigne los permisos express_configuration:sso y express_configuration:scim al rol especificado. Sustituya $ROLE_ID por el ID del rol al que desea asignar permisos.
Al usar este método, deberá actualizar su proceso de incorporación de clientes para asignar este rol a cualquier usuario nuevo de la organización que requiera permisos de Express Configuration.
auth0 roles permissions add "$ROLE_ID" \
  --api-id "urn:auth0:express-configure" \
  --permissions "express_configure:sso"
auth0 roles permissions add "$ROLE_ID" \
  --api-id "urn:auth0:express-configure" \
  --permissions "express_configure:scim"
Para obtener más información sobre cómo asignar roles a usuarios existentes de una organización, consulte Add member roles.

Asignar permisos según los atributos del usuario mediante una Action de post-login

Use este método de asignación de permisos de Express Configuration si usa una post-login Action de Auth0 para asignar permisos dinámicamente según los atributos del usuario, en lugar de usar el control de acceso basado en roles (RBAC), la Management API o el Auth0 Dashboard para asignar roles a los usuarios. Este enfoque es adecuado para clientes de Auth0 que han implementado Auth0 con un modelo de autorización basado en atributos mediante permisos personalizados en los metadatos de Auth0. Ejemplo
En el siguiente ejemplo, se usa una Action de post-login para asignar permisos según el valor de un atributo personalizado existente del usuario, user.app_metadata.is_admin.
/**
* Asigna permisos de Express Configuration basados en lógica personalizada en lugar de asignación de roles
*/
exports.onExecutePostLogin = async (event, api) => {


 //verificar si la solicitud es para un token de acceso de la API de EC
 if (event.resource_server && event.resource_server.identifier === "urn:auth0:express-configure") {


   //agregar permisos según una condición personalizada
   if (event.user.app_metadata && event.user.app_metadata.is_admin === true) {
     api.accessToken.addScope("express_configure:sso");
     api.accessToken.addScope("express_configure:scim");
   }
   //de lo contrario, denegar el acceso si se solicita un token de acceso de EC
   else {
     api.access.deny('Access denied');
   }
 }
};

Habilitar la detección del dominio de origen

Antes de ejecutar Express Configuration, debe recopilar y verificar las direcciones de correo electrónico de los clientes como parte del proceso de incorporación del cliente para habilitar HRD.
Puede usar Express Configuration con Auth0 Actions si su aplicación depende de la experiencia de inicio de sesión Identifier-First y usa la detección del dominio de origen (HRD) para asociar a los usuarios con sus Proveedores de identidad (IdP) en función de la dirección de correo electrónico. Las direcciones de correo electrónico deben almacenarse en una ubicación a la que puedan acceder las Actions de post-login durante el flujo de trabajo de Express Configuration, lo que incluye:
  • Se pueden almacenar uno o más dominios de correo electrónico en los metadatos de la organización de la Organización de Auth0 del cliente.
  • Su Action de post-login puede hacer una llamada a la API para recuperar dominios verificados desde cualquier sistema de su entorno donde estén almacenados.
Cuando el usuario administrador inicia Express Configuration en el portal de Okta y se autentica, estas Actions agregan los dominios de correo electrónico al token que recibe Okta, que luego los extrae y usa para configurar la conexión de Okta con la configuración de HRD correcta. Ejemplo 1
En este ejemplo, los dominios verificados se almacenan en los metadatos de la conexión de la Organización de Auth0, para lo cual se requiere una cadena delimitada por comas con uno o más dominios de correo electrónico almacenados en los metadatos de la organización bajo una clave llamada domains.
Valores de ejemplo: test.com,test2.com
exports.onExecutePostLogin = async (event, api) => {
if (event?.resource_server?.identifier === "urn:auth0:express-configure") {
  if (event.organization && event.organization.metadata && event.organization.metadata.domains)
  {
    var domain_aliases = event.organization.metadata.domains.replace(/ /g,'').split(',');
    var express_configuration = {
      "domain_aliases": domain_aliases
     };
     api.accessToken.setCustomClaim("express_configuration", express_configuration);
  }
}
};
Ejemplo 2
En este ejemplo, la Action de post-login realiza una llamada a la API para obtener los dominios verificados de un sistema de almacenamiento de tu entorno.
/**
*/
exports.onExecutePostLogin = async (event, api) => {
 if (event?.resource_server?.identifier === "urn:auth0:express-configure") {
    const axios = require("axios");
    // configura tu llamada de API personalizada aquí 
    const domains = await axios.get("https://example.org/endpoint");
     var express_configuration = {
     "domain_aliases": domains
      };
      api.accessToken.setCustomClaim("express_configuration", express_configuration);
  
 }
};

Mantener la correspondencia de cuentas de administrador entre conexiones

Auth0 permite aprovisionar cuentas de usuario con la misma dirección de correo electrónico en distintas conexiones. Un usuario final puede tener una conexión de base de datos, una cuenta social o una cuenta sin contraseña con su dirección de correo electrónico del trabajo, y también tener esa misma dirección de correo electrónico en su cuenta federada de Okta. Al usar la opción Prompt for Credentials en el flujo de inicio de sesión y consentimiento del administrador, el descubrimiento del dominio de origen empieza a hacer coincidir a los usuarios con un sufijo de dominio específico con la nueva conexión de Okta, en lugar de con otros tipos de conexión, después de que se agrega a la Organización. Para obtener más información sobre este comportamiento de inicio de sesión de la Organización, consulta Autenticación Identifier First con solicitud de credenciales. Este comportamiento solo surte efecto cuando los clientes ejecutan Express Configuration por segunda vez después de que expire la sesión inicial del usuario administrador de Auth0. Si el identificador de la cuenta de administrador es una dirección de correo electrónico que coincide con la nueva conexión de Okta, el administrador será redirigido a esa conexión. Este comportamiento puede gestionarse o evitarse mediante cualquiera de los siguientes métodos:
  • Usa la opción Prompt for Organization en el flujo de inicio de sesión y consentimiento del administrador.
    • Habilita los permisos de Express Configuration para la nueva cuenta de Okta que contiene la dirección de correo electrónico verificada coincidente después de aprovisionarla.
    • Si solo usas las Organizaciones de Auth0 para el flujo de consentimiento del administrador de Express Configuration y no para la experiencia de tu aplicación, puedes resolver el problema deshabilitando la propiedad enable_organization descrita en Configurar propiedades de la aplicación SaaS.
    • Esto no supone un problema si el identificador del usuario administrador no es una dirección de correo electrónico, como un username en una conexión de base de datos.

Habilitar varias aplicaciones con una sola integración

Si quiere que los usuarios finales de una sola Express Configuration en una conexión de Okta puedan acceder a varias aplicaciones de su inquilino, puede establecer una propiedad linked_clients en su aplicación web registrada. Para modificar esta configuración, use la Management API de Auth0 para obtener su aplicación web registrada. Sustituya {yourAppId} por el ID de cliente de su aplicación registrada y {yourAccessToken} por un token de acceso de Management API v2. Para obtener información sobre cómo conseguir un token de acceso para usar la Management API, consulte Management API Access Tokens.
curl --request GET \
  --url 'https://{yourDomain}/api/v2/clients/{yourAppId}' \
  --header 'authorization: Bearer {yourAccessToken}'
Extraiga la propiedad express_configuration de la respuesta, agregue un array de ID de aplicaciones adicionales a la propiedad linked_clients y actualice la aplicación web registrada:
curl --request PATCH \
  --url 'https://{yourDomain}/api/v2/clients/{yourAppId}' \
  --data '{"express_configuration": 
  {"admin_login_domain":"TENANT.auth0.com",
    "connection_profile_id":"cop_xxxxxxxxxxxxxxx",
    "enable_client":true,
    "enable_organization":true,
    "initiate_login_uri_template":"https://example.org",
    "okta_oin_client_id":"LDiGbUeiAYjRB5a4yOGfBvxxxxxxxxxxx",
    "user_attribute_profile_id":"uap_1ctMVQUg8jxxxxxxxxxxxx",   

     "linked_clients": [ 
        { "client_id": "KJM86F2susguvsasSeAsIxxxxxxxxxxx" }, 
	  { "client_id": "FIXwZCf5iUElvqy6eidlfxxxxxxxxxxx" }
      ] 
     }
  }' \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --header 'authorization: Bearer {yourAccessToken}'
Cuando se ejecute Express Configuration, todos estos ID de aplicación de la propiedad linked_clients se agregarán a la propiedad enabled_clients de la conexión de Okta.

Publica tu integración en el OIN

Después de crear una configuración base, ya puedes iniciar el proceso de envío al OIN. Como parte de este proceso, podrás probar Express Configuration de extremo a extremo antes de publicarla:
  1. Registra tu aplicación en el OIN 2. Agrega Express Configuration a tu integración en el OIN 3. Configura tu clave pública en el OIN 4. Prueba y verifica tu integración de Express Configuration 5. Finaliza tu envío al OIN

Registre su aplicación en el OIN

Requisitos del OIN

Para agregar Express Configuration a una aplicación nueva o ya existente en el OIN, necesita lo siguiente:
  • Una instancia de su aplicación web habilitada para Auth0 para usarla en las pruebas
  • Una organización de Okta Integrator Free Plan, con acceso al rol Super Admin o a los roles App Admin y Org Admin.
    • Su organización de Okta Integrator Free Plan debe estar configurada como una conexión de Okta en su inquilino de Auth0 y habilitada para usarse con su aplicación web habilitada para Auth0 a fin de completar las pruebas básicas
  • El navegador Google Chrome con Okta Browser Plugin instalado (consulte los requisitos de OIN Wizard)
  1. Inicie sesión en su organización de Okta Integrator Free Plan con la cuenta de usuario que usó para registrarse, o con una cuenta a la que se le haya asignado el rol SUPER_ADMIN, o los roles administrativos APP_ADMIN y ORG_ADMIN en Okta.
  2. Vaya a Applications > Your OIN Integrations en la consola de administración.
  3. Si se trata de una aplicación nueva, seleccione Build new OIN integration. De lo contrario, seleccione su integración de OIN existente. Aparecerá OIN Wizard:
Configurar Okta OIN
  1. En Add integration capabilities, seleccione OpenID Connect (OIDC) como protocolo de SSO.
  2. De forma opcional, puede seleccionar Universal Logout y SCIM 2.0, ambos muy recomendados para todas las integraciones de Okta y compatibles con Express Configuration.
  3. Seleccione Add integration details.
  4. Complete la sección OIN Catalog Properties según corresponda. Como referencia, consulte OIN Catalog Properties.
  5. Seleccione Configure your integration. En esta pantalla puede habilitar Express Configuration para su aplicación.

Agrega Express Configuration a tu integración de OIN

Para habilitar las funcionalidades de Express Configuration para tu integración de OIN registrada:
  1. En la pantalla Configure your integration del OIN Wizard, selecciona Enable Express Configuration. Se mostrará una ventana que solicita información que obtienes de tu inquilino de Auth0.
Configuración de importación de OIN
  1. En una nueva ventana del navegador, ve a Auth0 Dashboard > Applications > [Application] > Okta Integration Network > Create OIN Integration y copia la información indicada en la pantalla.
  2. Vuelve a la pantalla Configure your integration del OIN Wizard y pega la información en el campo Express Configuration Information.
  3. Selecciona Continue.

Configure la clave pública de OIN

A continuación, siga las instrucciones para descargar de Okta el archivo de clave pública que debe cargar en Auth0.
  1. En la ventana Express Configuration for Auth0 apps del asistente de OIN, elija Download Key (.pem) para guardar la clave en su dispositivo local.
  2. Cargue el archivo en Auth0 Dashboard > Applications > [Application] > Okta Integration Network > Create OIN Integration.
Carga de la clave pública de OIN
  1. Seleccione Save.
  2. Vuelva a la pantalla Configure your integration del portal de Okta y elija Finish. Esto rellena automáticamente muchos de los campos de configuración obligatorios de la integración.

​Completa la configuración de tu integración

  1. En OIDC Properties, configura los siguientes campos:
    • Redirect URIs debería configurarse automáticamente con el URI de callback de tu inquilino de Auth0. Puede usar el dominio personalizado de tu inquilino o tu dominio de auth0.com. Ejemplo: https://tenant.auth0.com/login/callback
    • Initiate Login URI debería configurarse automáticamente con el valor que configuraste para tu aplicación en Auth0, como se describe en Registrar una aplicación con Initiate Login URI Template. Okta usará esta URL para iniciar tu aplicación desde el panel del usuario final. Ten en cuenta que los nombres de las variables se han modificado para que coincidan con las variables de integración que se muestran en esta pantalla.
    • (Opcional). Configura Post-Logout URL con los URI de redirección de cierre de sesión de tu aplicación. Esta es la ubicación a la que quieres enviar a tu usuario final después de que cierre sesión en tu aplicación. Puedes usar variables de integración si tu URI de cierre de sesión varía según el inquilino.
    • Configura Configuration guide URL para que enlace a las instrucciones dirigidas a tus clientes sobre cómo configurar SSO entre Okta y tu aplicación con Express Configuration. Para obtener más información, consulta Directrices para documentos de configuración del cliente.
    Configuración de OIDC en OIN
  2. Si Universal Logout está seleccionado, confirma que los siguientes valores estén configurados en las propiedades de cierre de sesión universal:
    • El endpoint de Global token revocation debería configurarse automáticamente. Este valor se reemplazará dinámicamente cuando se ejecute Express Configuration.
    • Subject format debería configurarse automáticamente como Issuer and Subject identifier.
    • Marca Partial support si no usas el cierre de sesión por OIDC back-channel entre Auth0 y tu aplicación, pero tu aplicación usa tokens de actualización.
    Configuración de cierre de sesión universal en la consola de administración de Okta
  3. Si SCIM 2.0 está seleccionado, confirma que los siguientes valores estén configurados en SCIM provisioning properties:
    • Base URL debería configurarse con una variable de integración. Este valor se reemplazará dinámicamente cuando se ejecute Express Configuration.
    • User Operations debería configurarse automáticamente como Create, Read, Update y Deactivate.
    • Configura el enlace a las instrucciones dirigidas a tus clientes sobre cómo configurar SSO entre Okta y tu aplicación con Express Configuration. Consulta Directrices para documentos de configuración del cliente.
      Aprovisionamiento de SCIM de Express Configuration en OIN
  4. Selecciona Get started with testing.

Pruebe y verifique su integración

Después de cargar la clave pública en Auth0, puede probar Express Configuration con su organización Okta Free Integrator:
  1. Cree una Organización de Auth0 y una cuenta de username/contraseña que pueda compartir con el equipo de operaciones de Okta OIN.
    • Siga las instrucciones del flujo de habilitación del cliente de ejemplo para crear una Organización de Auth0 y una cuenta de username/contraseña para este fin.
    • Si es necesario, realice trabajo adicional en su aplicación para permitir que la Organización de prueba inicie sesión, por ejemplo, creando un nuevo inquilino de aplicación.
  2. Una vez que haya creado una cuenta de prueba, inicie sesión en su organización Okta Integrator Free como usuario con el rol de superadministrador (SUPER_ADMIN) o con los roles de administrador de aplicaciones (APP_ADMIN) y administrador de organización (ORG_ADMIN) roles.
  3. Vaya a Aplicaciones > Sus integraciones de OIN en la consola de administración de Okta. Seleccione el nombre de su integración de OIN.
  4. Elija Configurar su integración. Luego, elija Comenzar con las pruebas.
  5. Configure URL de la cuenta con la página de inicio de sesión de su aplicación. Un ingeniero de operaciones de Okta OIN irá a esta URL y usará las credenciales de la cuenta que proporcione en los campos siguientes para iniciar sesión en su aplicación.
  6. Configure Username y Contraseña con el username y la contraseña de una cuenta de administrador de la Organización de prueba que configuró para probar Express Configuration.
  7. Configure Contacto de soporte con el correo electrónico que Okta usará para contactar a su empresa acerca de su integración. Este correo electrónico no se muestra en el catálogo de OIN ni a sus clientes. Solo es visible para el equipo interno de Okta.
  8. En Pruebas de OIDC, seleccione No para el aprovisionamiento Just-In-Time para omitir esta prueba y configure URL de inicio de SP con la URL de inicio de sesión iniciada por SP de su instancia de aplicación.
    Prueba de OIDC de la integración de OIN
  9. Seleccione Probar su integración.
  10. Seleccione Generar instancia y luego Listo.
  11. Vaya a la pestaña Inicio de sesión.
  12. Para probar Express Configuration de Single Sign-On y Universal Logout, seleccione Configurar rápidamente SSO y UL.
    Express Configuration para SuperSaaS
  13. Una vez que se le redirija a la página de Universal Login de Auth0, inicie sesión con su cuenta de administrador de la Organización y otorgue su consentimiento para compartir datos.
  14. Para probar SCIM: seleccione Aprovisionamiento y luego Configurar rápidamente SCIM. Cuando se le redirija a Universal Login de Auth0, continúe por la pantalla de consentimiento. Una vez completado este paso, la integración de SCIM quedará configurada.
  15. A continuación, seleccione la pestaña Asignaciones y asigne un usuario de su organización Okta Free Integrator para el que tenga credenciales. Si no existe un usuario adecuado, siga las instrucciones para Agregar usuarios manualmente. Si SCIM está habilitado, el usuario debería aprovisionarse en su inquilino de Auth0. Confírmelo en el Auth0 Dashboard.
  16. Para probar SSO: use la cuenta de usuario que acaba de asignar y la instancia de prueba. Inicie sesión con las credenciales de la cuenta de usuario.
  17. Para probar Universal Logout: siga las instrucciones de Probar Universal Logout.

Finalice el envío

Las pruebas básicas se completaron en la sección anterior. Para finalizar el envío, la configuración debe superar algunas pruebas automatizadas:
  1. En la instancia de su aplicación, seleccione Begin Testing para finalizar el envío.
  2. Junto al nombre de la instancia que acaba de probar con Express Configuration, seleccione Add to Tester.
  3. Para completar las pruebas automatizadas de SSO, seleccione Run test para las pruebas de IDP flow y/o SP flow. Estas pruebas requieren el Okta Browser Plugin. Para obtener más información, consulte OIN Wizard Requirements.
    • Inicie sesión con el usuario de Okta Free Integration Organization que asignó a la instancia de la aplicación. Las pruebas se aprueban en cuanto el plugin detecta que puede iniciar sesión correctamente en su aplicación. Para obtener más información sobre estas pruebas, consulte Test your integration.
    • Si recibe el mensaje de error invalid_request (no connections enabled for the client) durante la prueba de inicio de sesión, espere unos minutos y vuelva a intentarlo. Las conexiones recién creadas pueden tardar unos minutos en funcionar con características como HRD.
  4. Para completar las pruebas obligatorias de Runscope para SCIM, siga las instrucciones de Test your SCIM API con Okta SCIM 2.0 Spec Tests.
    • Para un segundo token de SCIM, use la sección Authentication > Enterprise > Okta > [your-express-configred-connection] > Provisioning > Sync user profiles using SCIM > Setup.
    • Cuando termine, introduzca la URL compartible de la prueba de Runscope en los campos Link to Runscope spec test results y Link to Runscope CRUD test results del OIN Wizard.
  5. Cuando termine, seleccione Submit Integration.

Habilitación de clientes

Cuando publique su aplicación en el OIN, puede actualizar la documentación de su producto para indicar que admite Express Configuration con Okta. La documentación de su producto debe indicar qué roles o tipos de usuario tienen permiso para llevar a cabo Express Configuration. Si su aplicación ya utiliza Organizaciones de Auth0 con roles de administrador de Organización, como se muestra en la aplicación de referencia SaaStart, puede agregar los permisos de Express Configuration a ese rol. Si aún no ha desplegado Organizaciones de Auth0 para sus clientes, o no implementa usuarios administradores en su aplicación, consulte el flujo de incorporación de clientes de ejemplo.

Flujo de ejemplo para habilitar clientes

En su proceso de incorporación de clientes, debería recopilar:
  • El nombre de la organización del cliente
  • La dirección de correo electrónico del administrador del cliente que debe tener permisos para realizar Express Configuration
  • Los dominios de correo electrónico verificados que el IdP del cliente emite para los usuarios, incluidos los dominios del administrador
Recopile esta información manualmente o a través de la experiencia de registro o incorporación de sus clientes. Use la información para crear una Organización de Auth0 y una cuenta de usuario administrador para este cliente:
  1. Cree una Organización de Auth0
  2. Cree la cuenta de usuario administrador en una conexión de Auth0, como una conexión de base de datos o de correo electrónico sin contraseña.
  3. Asocie la conexión con la Organización de Auth0. Deshabilite Membership On Authentication.
  4. Agregue la cuenta de usuario administrador como miembro de la Organización de Auth0.
  5. Asigne al usuario administrador un rol de la organización con permisos para realizar Express Configuration.

Ejemplo de Auth0 CLI

Inicializa Auth0 CLI y autentícate Autentícate con Auth0 mediante Auth0 CLI.
auth0 login --scopes "create:users,create:organizations,create:organization_members,create:organization_member_roles,create:organization_connections"
Cree una organización de Auth0 Introduzca el nombre de la organización y un nombre corto sin espacios. Si recopiló varios sufijos de correo electrónico, agréguelos como metadatos de la organización.
auth0 orgs create --json \
--display "organization_display_name" \
--name "organization_short_name" \
--metadata 'domains=["domain1.com", "domain2.com"]'
Recopile el org_id devuelto. Cree la cuenta de administrador de la organización En este ejemplo, crea un usuario en una conexión sin contraseña de correo electrónico, para lo que se requiere el tipo de conexión email. El comando requiere que introduzca la dirección de correo electrónico del usuario al que autoriza para realizar Express Configuration.
auth0 api users \
--data '{"email":"user@example.com","connection":"email", "email_verified":true}'

Consejo

Si está creando esta Organización para proporcionar una cuenta de prueba con username y contraseña al equipo de operaciones de Okta OIN, cree la cuenta de prueba en una conexión de base de datos compartida o dedicada:
auth0 api users \
--data '{"email":"user@example.com","connection":"db_connection_name_here", "password": "add_a_long_password_here"}'
Anote el user_id devuelto. Asocie la conexión con la Organización Obtenga el ID de la conexión:
auth0 api get "connections" -q "name=connection_name_here"
Asocie el ID de la conexión con el ID de la Organización, org_id.
auth0 api post "organizations/org_id_here/enabled_connections" \
--data '{ "connection_id": "connection_id_here" };
Agregue el usuario administrador como miembro de la Organización Necesita org_id y user_id.
auth0 api post "organizations/org_id_here/members" \
--data '{ "members": ["user_id__here"] }'

Asigne el rol de Organización con los permisos de Express Configuration Obtenga el ID del rol con permisos de Express Configuration, tal como se configuró en Asignar permisos de Express Configuration a usuarios.
auth0 api get "roles" -q "name_filter=role_name_here"
Asigne el ID del rol al user_id y al org_id.
auth0 api post "organizations/org_id_here/members/user_id_here/roles" --data '{ "roles": ["role_id_here"] }'
Una vez completado, su cliente puede usar la cuenta de administrador de la Organización para llevar a cabo Express Configuration en su organización de Okta con su integración de OIN.

Recomendaciones para aprovisionar cuentas de administrador

Tanto si utiliza cuentas de usuario existentes como si crea cuentas nuevas para habilitar Express Configuration, siga las recomendaciones que se indican a continuación.

Use el correo electrónico laboral

Tanto si la cuenta de administrador no federada es una cuenta de base de datos, de correo electrónico sin contraseña o de usuario social, lo más recomendable es que el valor del atributo email coincida con la dirección de correo electrónico laboral del usuario con la que se aprovisionará su cuenta de usuario de Okta Enterprise (ejemplo: john@mycompany.com). Auth0 también recomienda verificar estas direcciones de correo electrónico mediante un flujo de verificación del correo electrónico.

Use la autenticación multifactor

Puede agregar una capa adicional de seguridad al flujo de Express Configuration al requerir autenticación multifactor en cada inicio de sesión. El ejemplo de Action de Post-Login demuestra cómo puede solicitar factores de forma condicional, como WebAuthn con biometría del dispositivo y una contraseña de un solo uso enviada por correo electrónico, cada vez que se ejecuta Express Configuration. El ejemplo de Action requiere habilitar estos factores en su inquilino de Auth0 y seleccionar la opción Customize MFA Factors using Actions.
exports.onExecutePostLogin = async (event, api) => {


if (event.resource_server && event.resource_server.identifier === "urn:auth0:express-configure") {


   api.multifactor.enable('any');
  api.authentication.challengeWith({ type: 'email' });


  if (!event.user.enrolledFactors.some(m => m.type === 'webauthn-platform')) {
     api.authentication.enrollWith({type: 'webauthn-platform'});
   } else {
     api.authentication.challengeWith({type: 'webauthn-platform'});
  }
 }
}

Supervisar el uso de Express Configuration

El uso de Express Configuration puede consultarse en los registros del inquilino de Auth0 filtrando por el OIN ID de cliente de cada aplicación que haya configurado. Esto incluye toda la actividad de inicio de sesión de los usuarios administradores, así como todas las operaciones de la API para crear y administrar las conexiones de Okta Enterprise. El OIN ID de cliente de su aplicación puede consultarse en estos lugares:
  • En la sección Applications > [Application] > Okta Integration Network > Create OIN Integration del Auth0 Dashboard.
    • En la propiedad express_configuration.okta_oin_client_id de su aplicación al consultarla en la Auth0 Management API.
Para obtener más información sobre cómo buscar registros con el ID de cliente, consulte Log Search Query Syntax.

Limitaciones

  • Solo se puede usar un inquilino de Auth0 en una única integración OIN. Si la misma aplicación se despliega en varias regiones de Auth0, cada región requiere su propia integración OIN.
  • Una integración OIN en una organización de Okta puede crear una única conexión de Okta en la organización de Auth0 correspondiente. Express Configuration no admite más de una instancia de una aplicación OIN dentro de una organización de Okta.
  • Cada integración única incluida en OIN crea una conexión de Okta independiente. Si tiene varias aplicaciones que requieren una experiencia de inicio de sesión Identifier-First con descubrimiento del dominio de inicio, le recomendamos publicar varias aplicaciones en una sola integración.
  • Al habilitar varias aplicaciones en una sola integración, Okta solo muestra la aplicación OIN principal en su panel del usuario final.

Referencia de la Management API

Para usar la Management API en lugar de Auth0 Dashboard para habilitar Express Configuration en una aplicación determinada, utilice los ejemplos a continuación.

Crear la API del sistema de Express Configuration de Okta OIN

Registra el servidor de recursos que se usará para autenticar a los administradores de la organización. Esto solo es necesario si nunca se usó el Dashboard para configurar Express Configuration para aplicaciones en un inquilino. Ejemplo:
POST /api/v2/resource-servers
{
    "name": "Okta OIN Express Configuration API",
    "identifier": "urn:auth0:express-configure"
  }

Referencia del endpoint

Crear perfil de atributos de usuario

Crea un perfil de atributos de usuario. Este paso solo es necesario si no existen perfiles o si el desarrollador quiere usar un perfil personalizado. Para empezar a partir de un conjunto de valores predeterminados para el perfil de atributos de usuario, primero llama al endpoint GET /api/v2/user-attribute-profiles/templates y usa la respuesta en el cuerpo de la solicitud para crear el perfil de atributos de usuario. Ejemplo:
GET /api/v2/user-attribute-profiles/templates
Referencia del endpoint
POST /api/v2/user-attribute-profiles
{
    "name": "Okta OIN Express Configuration API",
    "identifier": "urn:auth0:express-configure"
}
Referencia del endpoint

Crear perfil de conexión

Cree un perfil de conexión. Este paso solo es necesario si no existen perfiles o si el desarrollador quiere usar un perfil personalizado. Para partir de un conjunto de valores predeterminados para el perfil de conexión, llame al endpoint GET /api/v2/connection-profiles/templates y use la respuesta en el cuerpo de la solicitud para crear el perfil de conexión. Ejemplo:
GET /api/v2/connection-profiles/templates
Referencia del endpoint
POST /api/v2/connection-profile
{
    "name": "Okta OIN Express Configuration API",
    "identifier": "urn:auth0:express-configure"
}
Referencia del endpoint

Crear cliente de Express Configuration de OIN

Cree la aplicación de servicio que Okta usará durante Express Configuration para una aplicación específica. Este cliente debe crearse con las propiedades que se muestran en el ejemplo siguiente. El atributo organization_require_behavior puede personalizarse con uno de los valores siguientes, que también se explican en Configuración de inicio de sesión y consentimiento del administrador.
  • pre_login_prompt: Solicita la organización del administrador antes de solicitar las credenciales.
    • post_login_prompt: Solicita las credenciales del administrador. Para esta opción, use el endpoint PATCH /api/v2/connections/{id} para agregar el ID de cliente del cliente OIN a la propiedad enabled_clients de la conexión o conexiones que contienen las cuentas de administrador.
Ejemplo:
POST /api/v2/clients
{
    "name": "Okta OIN Express Configuration",
    "app_type": "express_configuration",
    "organization_require_behavior": "pre_login_prompt",
    "client_authentication_methods": {
      "private_key_jwt": {
        "credentials": []
      }
    }
}
Referencia del endpoint

Configurar las propiedades de la aplicación SaaS

Establezca los valores de configuración de la propiedad express_configuration en la aplicación registrada que se publicará en la OIN. Reemplace los valores de los ejemplos por un ID de perfil de conexión válido, un ID de perfil de atributos de usuario, un ID de aplicación cliente de OIN, un URI de inicio de sesión y el dominio del inquilino de Auth0 que se usarán para esta integración. El atributo linked_clients corresponde a la configuración descrita en Habilitar varias aplicaciones en una sola integración. El atributo enable_client corresponde a la configuración de enabled_clients descrita en Configuración de inicio de sesión de la organización. Normalmente, el atributo enable_organization debe establecerse en true, a menos que no esté asignando las conexiones creadas a sus organizaciones. La instancia de la aplicación de Okta puede seguir administrando la conexión, pero los usuarios de Okta no pasarán a ser miembros de la Organización de Auth0. Establecer este valor en false puede ser útil en el caso descrito en Mantener la coincidencia de cuentas de administrador entre conexiones. Ejemplo:
PATCH /api/v2/clients/{id}
{
  "express_configuration": {
      "admin_login_domain": "yourAuth0TenantDomain",
      "connection_profile_id": "yourConnectionProfileId",
      "enable_client": true,
      "enable_organization": true,
      "initiate_login_uri_template": "yourInitiateLoginUriTemplate",
      "okta_oin_client_id": "yourOinClientId",
      "user_attribute_profile_id": "yourConnectionProfileId",
"linked_clients": [ 
    { "client_id": "KJM86F2susguvsasSeAsIxxxxxxxxxxx" }, 
    { "client_id": "FIXwZCf5iUElvqy6eidlfxxxxxxxxxxx" }
 ] 
    }
}
Referencia del endpoint

Cargar clave pública

Cargue la clave pública proporcionada por el equipo de Okta como credencial de la aplicación cliente de OIN. Ejemplo:
POST /api/v2/clients/{oin_client_id}/credentials
{
  "credential_type": "public_key",
  "pem": "-----BEGIN PUBLIC KEY-----\nMIGf..."
}
Referencia del endpoint

Asignar claves a la aplicación cliente del OIN

Asigne las claves públicas cargadas desde Okta al cliente de servicio del OIN. Reemplace yourCredentialId por el id de credencial recibido en el paso anterior. Ejemplo:
PATCH /api/v2/clients/{oin_client_id}
{
 "client_authentication_methods": {
    "private_key_jwt": {
      "credentials": [
        {
          "id": "yourCredentialId",
        }
      ]
    }
  }
}
Referencia del endpoint Actualiza la configuración de tus inquilinos para mostrar los detalles del scope en la página de consentimiento. Esta configuración mejora la experiencia del usuario al proporcionar información sobre los permisos que se conceden. No es obligatorio, pero sí recomendable. Ejemplo:
PATCH /api/v2/tenants/settings
{ 
  "flags": { "use_scope_descriptions_for_consent": true } 
}
Referencia del endpoint