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?
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:
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.