使用基于 SAML 的基本身份验证进行身份验证?

Posted

技术标签:

【中文标题】使用基于 SAML 的基本身份验证进行身份验证?【英文标题】:Authenticate using SAML-based Basic Authentication? 【发布时间】:2015-08-12 19:55:40 【问题描述】:

我有一个用例,其中 Web 应用程序需要让用户以两种不同的方式进行身份验证,但通过 SAML 使用相同的用户数据存储(又名 IDP)。

用户的浏览器被重定向到 IDP 并使用 SAML 断言(又名 WebSSO 配置文件)重定向回来。 用户通过基本身份验证向 SP 提出请求,提供其凭据。然后,SP 需要将用户的凭据发送给 IDP,IDP 将通过反向通道(服务器到服务器)提供断言。

我正在使用 Spring Security SAML 扩展。 Spring SAML 中的示例应用程序包含使用用户名和密码的基本身份验证和基于 SAML 的身份验证,但基本身份验证部分使用 securityContext.xml 文件中定义的本地帐户。我需要使用 IDP 上的用户帐户。这可能吗?如果是这样,我该如何配置 Spring SAML?

【问题讨论】:

【参考方案1】:

没有标准的 SAML WebSSO 机制允许 SP 通过提供她的凭据来为特定用户请求断言。您可能需要查看 WS-Trust 标准,该标准使用其请求安全令牌方法(RST/RSTR 调用)涵盖此类用例。另一种非常标准化的方法是Client Credentials grant of OAuth 2.0。两者都超出了 Spring SAML 的范围,但可以与它结合使用。

【讨论】:

以上是关于使用基于 SAML 的基本身份验证进行身份验证?的主要内容,如果未能解决你的问题,请参考以下文章

IDP 的 Spring SAML 预身份验证检查

如何在同一应用程序中使用 spring-sample 示例配置 Spring Security 基本身份验证和 SAML 身份验证

基于 SAML 的 SSO 用于身份验证和 LDAP 用于授权 - Spring Boot Security

具有混合身份验证 JWT 和 SAML 的 ASP.NET Web API 2.2 OWIN

要求使用相同的 IDP 重新进行身份验证 - Spring SAML

使用 SAML 和身份提供者的微服务身份验证