Mi equipo tiene la tarea de implementar SSO en nuestra aplicación web (.net 4.8 completo alojado en Azure). Sin embargo, necesitamos confiar en la autenticación de una aplicación externa.
Un poco de contexto. Imagine que hay 2 empresas separadas (A y B) que tienen aplicaciones web separadas (SP_A y SP_B). Somos la empresa B en este contexto.
Aquí está el flujo de trabajo solicitado:
Lo hemos logrado con tokens JWT anidados en encabezados de autorización. Esto es lo que sucede detrás de escena:
Nuestro cliente solicitó que usáramos el protocolo SAML2.0 en su lugar.
Estoy usando proyectos de muestra de ITfoxtec como punto de partida, pero estoy bastante perdido. Todos los artículos externos desean habilitar un IdP centralizado que solicitará al usuario una contraseña y un correo electrónico una vez y las reclamaciones pasarán del IdP a los SP. No se aplica a nuestro caso, ya que los usuarios están autenticados en la aplicación SP_A.
¿Pensamientos?
si SP_A y SP_B usan el mismo IdP y ambos implementan SAML u OIDC SSO, entonces está bien.
La lógica es así: cuando el usuario inicia sesión correctamente en SP_A, el navegador obtendrá dos sesiones: una sesión para SP_A y una sesión para IdP.
Cuando el usuario intente iniciar sesión en SP_B, el navegador redirigirá al usuario para que inicie sesión en IdP, dado que IdP sabe que el usuario ya ha iniciado sesión, no mostrará la página de inicio de sesión. Y luego SP_B también puede emitir una sesión a este usuario.