es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Okta SSO entre 2 aplicaciones sin que el usuario tenga que conocer acerca de Okta.

Antecedentes

Tenemos dos aplicaciones, App A y App B. Estoy trabajando en una prueba de concepto para conectar las aplicaciones entre sí.

Para antecedentes, el departamento de IT desea utilizar Okta de alguna forma. Mi experiencia con Okta siempre ha sido como el proveedor de identidad (IDP) y la autenticación única (SSO) se realiza a través de un flujo normal de SAML o OIDC. Pero esto requiere que el usuario conozca Okta e inicie sesión en Okta. Esta configuración es adecuada para empresas que están gestionando a sus usuarios a través de Okta.

Experiencia de usuario deseada

La experiencia de usuario que buscamos implica que un usuario con un navegador nuevo (sin cookies en ningún lugar) inicie sesión en App A y luego pueda hacer clic en un enlace en App A y finalmente llegar a App B autenticado, sin tener que ver una página de Okta (una redirección a través de una URL de Okta estaría bien). También nos gustaría admitir lo contrario (App B enviando al usuario, autenticado, a App A). Existe una convención compartida entre las aplicaciones de que la dirección de correo electrónico del usuario será la misma en ambos lados.

Obviamente, podríamos crear algún tipo de autenticación única directamente entre estas aplicaciones, pero IT quiere gestionar cualquier conexión de autenticación que usemos en Okta (por motivos de seguridad, entre otros).

Sin conocer la dirección a seguir, mi instinto me dice que necesitaremos utilizar Okta como IDP, pero que también necesitaremos utilizar alguna API SCIM de Okta para registrar usuarios en Okta, en algún momento antes de enviarlos de App A a App B. ¿Es correcto? Si es así, ¿es posible también autenticar al usuario para que no tenga que iniciar sesión en Okta para llegar autenticado a App B? ¿Estoy completamente equivocado? ¿Eso requeriría básicamente que tanto App A como App B sean proveedores y consumidores de identidad? ¿O existe algún otro flujo de trabajo mejor / más simple para este escenario?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Posible Solución

    Basado en la experiencia de usuario deseada y la preferencia de IT por la gestión de Okta, parece que la mejor opción es utilizar Okta como proveedor de identidad (IDP) con la API SCIM para registrar usuarios. Con este enfoque, los usuarios pueden iniciar sesión en la Aplicación A y autenticarse a través de Okta sin tener que ver nunca una página de Okta.

    Para implementar esto, deberías:

    1. Configurar tanto la Aplicación A como la Aplicación B como aplicaciones de Okta.
    2. Utilizar la API SCIM de Okta para crear usuarios en Okta y asignarlos a la(s) aplicación(es) correspondiente(s).
    3. Implementar SSO utilizando el flujo de trabajo de SAML u OIDC entre Okta y ambas aplicaciones, lo que permite a los usuarios moverse entre las aplicaciones sin tener que volver a autenticarse.

    Es importante tener en cuenta que la convención de la dirección de correo electrónico debe ser utilizada de manera consistente por ambas aplicaciones para asegurarse de que los usuarios se correspondan correctamente entre las aplicaciones.

    En general, este enfoque simplifica el flujo de trabajo para los usuarios y al mismo tiempo permite que IT gestione la autenticación de manera segura a través de Okta.

Comments are closed.