【问题标题】:is there any way to query if user is exist or not in SAML based identity provider?有什么方法可以查询用户是否存在于基于 SAML 的身份提供者中?
【发布时间】:2020-10-27 20:37:10
【问题描述】:

我只想检查用户是否存在于连接到 SAML 身份提供程序的 Active Directory 或 LDAP 中,而无需通过浏览器执行完整的 SSO。 SAML IDP 是否提供任何 API 用于用户查找而不实际执行 SSO?

【问题讨论】:

  • (一般来说!)出于登录目的检查用户是否存在是一个安全漏洞,因此作为局外人可能很容易检查其竞争对手是否也是客户端等。但在你的情况下,你在里面,在服务器上。您可能需要进行自己的 LDAP 访问,并且该 LDAP 必须是可访问的。 LDAP 很简单,还有工具,JXplorer。
  • 是的,访问LDAP和检查是可以的,但是我们要为IdP做,因为用户可能不会在IdP后面暴露AD、LDAP。

标签: java single-sign-on saml-2.0 opensaml pac4j


【解决方案1】:

如果您使用的是单一身份提供者,则可以使用 SAML 作为传输工具来验证用户是否存在。没有什么可以说明合作伙伴如何决定在他们之间实施该标准。 IdP 不必实际让用户登录,SP 可以根据合作伙伴关系使用他们认为合适的数据。让律师解决这个问题。

从流程的角度来看,我可以看到它像这样工作......

作为服务提供商,您从您希望验证的用户那里收集帐户信息。您向 IdP 发送带有您的应用程序作为主题的身份的 AuthnRequest。

IdP 只是将帐户是否在其存储库中作为“身份验证过程”进行验证。 (眨眼眨眼)如果帐户存在,IdP 将主题和状态“成功”的 SamlResponse 发送回 SP。如果没有,则将主题和状态“错误”发回。

作为 SP,您现在知道用户是否存在(嗯,至少您知道 IdP 声称的内容),并且您可以对这些信息做任何您想做的事情。

哎呀,你甚至可以埋葬抱歉?什么?是的,您可以在 iFrame 中嵌入重定向过程,并向用户展示一个可爱的微调器、一个有趣的猫 gif...对您的潜在用户诚实。

您知道,虽然我们越来越疯狂,但实际上您最好还是使用安全令牌服务 WS-Trust。但你没有问这个。因此,只需进行研究,然后将其与我的建议和您的用例进行比较,看看什么是满足您要求的最佳选择。

Sally 并围绕令人愉快的身份协议主力包裹一个令人愉快的新用户体验,将实施过程中发生的事情留给我们所有的构建者。

【讨论】:

  • 谢谢,>> 您知道,虽然我们越来越疯狂,但实际上您最好还是使用安全令牌服务 WS-Trust。您想更多地谈论 WS-Trust 吗?我的标准是我不想通过浏览器执行重定向到 Idp,它只需要 REST API 调用。
  • @MukulChakane,您可以通过将所有重定向嵌入 iFrame 来执行 SAML“无重定向”。但是,WS-Trust 旨在成为一种服务到服务的事务,其中 SP 直接向 IdP 询问一组声明。任何一种机制都适合你。没什么好说的,但你可以去看看 WS-Trust 是否是一个选项。
  • 我还应该补充一点,WS-Trust 是 SOAP,而不是 REST,但它“更接近”您的愿望。如果您想要直接 REST……您的“身份提供者”将必须拥有 REST API。 SAML 没有提供,WS-Trust 也没有,我知道的任何其他“身份标准”也没有。这真的归结为 IdP 是否以某种方式启用了 REST 身份存储。
  • 好的,谢谢。这很有帮助。所以我必须向身份提供者询问 REST API。
【解决方案2】:

这就是你要找的吗? SAML Token Validator。验证令牌后,您可以使用 userService.findUserByXXX() 方法检查 SAML 令牌中的给定用户是否存在。

【讨论】:

  • 不,我只想验证用户是否仍在身份验证目录中,为了验证并期望正确的令牌,我们可能需要在令牌过期后每次执行身份验证,不是吗?
【解决方案3】:

实际上没有办法用 SAML 解决这个问题。在 IdP 进行的身份验证实际上超出了 SAML 规范的范围。实际上,IdP 不需要自己执行身份验证,而是可以将其委托给某个身份验证机构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    相关资源
    最近更新 更多