将 java webapp 转换为使用 SAML2 身份验证

Posted

技术标签:

【中文标题】将 java webapp 转换为使用 SAML2 身份验证【英文标题】:convert java webapp to use SAML2 authentication 【发布时间】:2013-05-12 15:24:16 【问题描述】:

我在尝试了解如何完成此任务时遇到了一些问题:

1) 具有数据库身份验证的现有简单 webapp。 (简单的自定义代码)

2) 将简单的 webapp 转换为使用 SAML2 身份验证到外部 IDP(例如 google apps(?))

我相信这些条款是将我的 webapp 变成 SAML2 的服务提供商 (SP),向 IDP 注册我的 SP。

但是我一开始就被困住了,我希望将 apache shiro 或 spring security 或带有一些股票配置(比如谷歌应用程序 IDP)的 picketlink 包含在内,以至少开始,但我没有看到类似的东西。

(它不一定是谷歌应用程序,只是我知道的唯一公共 IDP 是 SAML2,其他使用 SAML2 可以注册用于开发/测试的免费在线 IDP 示例会很棒(我不想设置/在我确认应用程序可以准备好之前,我不想花所有时间查看 IDP))

请帮忙!

【问题讨论】:

对于任何查看此主题但仍然没有答案的人的先前研究:static.springsource.org/spring-security-saml/docs/1.0.x/…developers.google.com/google-apps/sso/…docs.jboss.org/author/display/PLINK/…***.com/questions/15396751/…***.com/questions/15997221/… 【参考方案1】:

虽然您已经找到了许多与自定义代码相关的解决方案 - 如果您有客户访问您的应用程序,您也可以查看 PingOne APS。它是云应用提供商的第一个(并且仅限 AFAIK)SAML 即服务。只是一个 RESTful API 集成,它处理所有繁重的 SAML。 [注意:我为 Ping 工作]

HTH - 伊恩

【讨论】:

【参考方案2】:

基本上,您需要将 SAML 堆栈添加到您的 java 应用程序。

您可以使用Java Oracle OpenSSO Fedlet 或Spring Security - SAML Extension。

【讨论】:

以上是关于将 java webapp 转换为使用 SAML2 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

使用 Node.js 和 SPA 进行 SAML2.0 身份验证

使用 .Net Core 5 MVC 为多个 IDP 实施 SAML2

Yaml 配置对象列表到属性文件

ITfoxtec SAML2 能否支持多个 IdP?

自定义 SAMLUserDetailsS​​ervice 未填充自定义 UserDetails

是否可以为整个struts webapp配置统一格式的日期格式?