Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

497
Visualizações
Seleccione el proveedor de identidad localmente con SAML 2.0 de Spring Security

Estoy usando SAML 2.0 de Spring Security para conectar mi proveedor de servicios a múltiples proveedores de identidad.

Todo en la documentación SAML 2.0 de Spring tiene sentido. He leído muchos tutoriales útiles, incluido este , que es similar a mi código existente.

Sin embargo, me falta dónde y cómo seleccionar un proveedor de identidad para un usuario determinado .

Entiendo que SAMLDiscovery se puede usar para delegar la selección del proveedor de identidad a un servicio de terceros. También entiendo cómo configurar múltiples proveedores de identidad. Pero estoy buscando una manera de ejecutar mi propio código (es decir, verificar una base de datos) y luego activar una solicitud SAML para el proveedor de identidad elegido (no un servicio de terceros). Esperaría esto alrededor del momento en que se golpea SAMLEntryPoint . He visto mención de especificar EntityID en la solicitud inicial. ¿Está esto relacionado?

Estoy intentando realizar SAML 2.0 SSO iniciado por SP. ¿Puede alguien indicarme dónde puedo especificar manualmente un IdP basado en el usuario actual?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Hasta donde yo sé, SAML no ofrece ningún mecanismo para lo que desea. El descubrimiento de SAML se utiliza para averiguar qué IdP existen para su aplicación.

Su problema es que no sabe quién es el usuario antes de que intente iniciar sesión y cuando lo hace, significa que ya sabe qué IdP quiere usar.

Así que tienes estas opciones:

  1. Más común. Use una página de destino que le permita al usuario seleccionar qué IdP usar. Por ejemplo, los juegos de Epic le permiten seleccionar el IdP de una lista de 8. Una vez que el usuario lo selecciona, puede continuar dirigiendo su solicitud al IdP correcto.
  2. Si sabe de antemano qué usuario pertenece a qué IdP, puede tener una página que le permita al usuario ingresar solo su nombre de usuario. Una vez que haga esto, puede verificar en su base de datos a qué IdP pertenece este usuario y enviar un mensaje de redireccionamiento al navegador. Si bien esto funciona, no permitirá que el usuario seleccione qué IdP quiere usar, poniendo este trabajo sobre los hombros del backend.
  3. Realice el paso 2 una vez y guarde una cookie en el navegador del usuario. Luego, cuando el usuario intente iniciar sesión nuevamente en otra sesión desde la misma máquina, puede redirigirlo automáticamente al IdP correcto. Usando esta opción, todo se hace automáticamente y excepto la primera vez.

Una cosa a considerar. Desde el punto de vista de la seguridad, dar información a un pirata informático es una mala práctica, por lo que las opciones 2 y 3 le revelan a un pirata informático qué IdP pertenece a qué usuario. En mi opinión, esta no es una brecha tan grande y puede implementarse.

over 4 years ago · Santiago Trujillo Relatório

0

Esta no es realmente una pregunta de SAML, ya que cualquier solución ocurriría fuera de los estándares e implicaría identificar al usuario antes de pedirle que se autentique.

PATRÓN GENERAL

  • La aplicación redirige al proveedor de servicios utilizando la tecnología A, por ejemplo, SAML, OpenID Connect
  • Para esta aplicación, el proveedor de servicios está configurado para ejecutar una acción, por ejemplo, presentar una pantalla, para identificar al usuario; es posible que haya visto esto en sistemas como Office365
  • Luego, el proveedor de servicios utiliza algún tipo de búsqueda de datos para identificar a los desplazados internos para el siguiente paso.
  • Si hay más de uno, se le solicita al usuario que seleccione uno; de lo contrario, la opción predeterminada se invoca automáticamente
  • Luego, el proveedor de servicios redirige al IDP utilizando la tecnología B; podría ser SAML/OIDC/Otro

EXTENSIBILIDAD

Espero que mis comentarios anteriores muestren que un sistema IAM es una caja de herramientas y debe ser extensible. Trabajo en Curity, donde usamos un concepto de autenticadores y acciones que se pueden combinar, por ejemplo, para MFA, pero una opción común es la siguiente:

  • Capturar el nombre de usuario
  • Ejecute alguna lógica personalizada, por ejemplo, JavaScript que invoque una búsqueda de datos para configurar el próximo autenticador

Aquí hay un artículo reciente para mostrar cómo funciona esto: el Autenticador de nombre de usuario es la parte interesante.

PROVEEDORES

Lamentablemente, es posible que Spring no proporcione las opciones que le gustaría. Sin embargo, esto debería aclarar un poco sus requisitos.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda