【问题标题】:Silent SAML authentication?静默 SAML 身份验证?
【发布时间】:2019-03-14 01:46:54
【问题描述】:

我正在尝试使用 SAML 协议对用户进行身份验证。 到目前为止,我在两个不同的身份提供者(Auth0 和 OneLogin)中有两个应用程序进行测试。我也有我的服务提供商。 我想要做的是验证用户而不将他们重定向到任何身份提供者登录表单。 像这样的:

  1. 用户尝试登录我的应用程序(使用 React 制作)
  2. 我的服务器提供商收到用户的请求并发送 身份提供者的凭据(用户名和密码) 使用 SAML 协议。
  3. 身份提供者验证凭据,如果它们是 正确,将 SAML 断言返回给我的服务器提供商;除此以外, 它会返回一个错误。
  4. 如果发送内容,取决于身份提供者的响应 是否给用户。

我知道这不是 SAML 的预期用途,但我想知道是否有办法做到这一点以及如何实现。


任何帮助或建议都会受到欢迎,谢谢。

【问题讨论】:

    标签: authentication saml


    【解决方案1】:

    这不是 SAML 的工作方式,我不知道有任何 SAML 身份提供者接受用户名和密码。

    可以在发送给身份提供者的 SAML 身份验证请求中包含用户名,但没有规定包含密码。

    我认为,如果您要提示用户输入他们在不同网站(即服务提供商)上的一个网站(即身份提供者)的凭据,则需要考虑许多安全问题。

    使用 SAML SSO,如果用户尚未在身份提供商处进行身份验证,它将提示用户登录。

    【讨论】:

    • 所以,每当用户登录时(除非他们有现有会话),我都必须使用身份提供者的登录表单,对吗?问题是我希望这对用户完全透明。
    • 没错。我不知道你怎么能让这对用户透明。
    • 我发现 ECP SAML 配置文件有助于为用户实现“透明”身份验证。希望这可以帮助寻找相同的人。 “当身份提供者和服务提供者无法直接通信时,ECP 配置文件启用单点登录。ECP 充当服务提供者和身份提供者之间的中介。”更多信息here
    • ECP 配置文件的问题在于它很少使用或支持。另外,我不确定它是否符合您的要求。这在很大程度上取决于身份提供者提供的支持。
    • 在某种程度上它符合要求,它允许我在没有任何重定向的情况下验证我的用户。他们还告诉我有关 Keycloak(支持 ECP 配置文件的 SAML IdP)的信息。我要试一试,看看会发生什么。谢谢你的回复,很有帮助。
    猜你喜欢
    • 2019-08-02
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多