我想创建一个供多个应用程序使用的SSO,这是最好的方法。我当时正在使用SAML2.0,但由于找不到用于创建自己的/自定义SAML IDP的文章而感到困惑。
1。创建自己的IDP是多么可行。
2.什么是实施SSO的最佳方法
答案 0 :(得分:0)
不要尝试自己动手-使用受支持的解决方案。
在客户端,您需要一个SAML stack。
其中一些带有可以安装的IDP。
看看:
所有这些都将提供SAML IDP。
它们还提供了很好的文档来帮助您入门和运行。
答案 1 :(得分:0)
问题1 :创建自己的IDP有多可行?
答案:
GitHub存储库上的How to build and run Shibboleth SAML IdP and SP using Docker container提供了有关使用Shibboleth SAML IdP和OpenLDAP为Java中的SAML构建自己的IDP的说明。
Shibboleth SAML IdP负责身份联合。
OpenLDAP负责身份验证。
问题2 :实施SSO的最佳方法是什么?
答案:
Shibboleth IdP已为已与SAML SP集成的企业应用程序实施了SSO。
(I)我已验证了由Docker运行的Shibboleth SAML IdP(身份提供程序)和OpenLDAP为以下企业应用程序提供的SAML单一登录(SSO)。换句话说,我利用运行Docker的Shibboleth SAML IdP和OpenLDAP成功登录到以下企业应用程序。
Microsoft Office 365
Google G Suite
Salesforce
Dropbox
Box
Amazon AWS
OpenStack
Citrix NetScaler
VMware vCloud Director
Oracle NetSuite
(II)我们用 Java 开发了先前的Zero-Password Authentication and Authorization System版本,并利用Shibboleth IdP为企业应用程序提供了SAML SSO。
我们在 Scala 中开发了具有扩展性和高可用性的Zero-Password Authentication and Authorization System当前版本,以为没有Shibboleth IdP的企业应用程序本机提供SAML SSO。
为了在您的生产环境中快速部署SAML IdP,强烈建议利用第三方SAML IdP(例如Shibboleth IdP)。这样您就有足够的时间来用Java或其他编程语言开发自己的SAML IdP。
(III)另一个StackOverflow问题"How to implement or integrate single sign on with SAML and Shibboleth"提供了有价值的信息和讨论。
答案 2 :(得分:0)
是的,可以,但是需要大量的努力。
此存储库可以帮助您弄清楚如何构建自己的IDP:A mock IDP and SP using the OpenSAML library
此存储库可以帮助您如何将自己的IDP集成到Spring Boot应用程序:Spring Boot, SAML, and Okta
在我看来,实现SSO的最佳方法是使用即付即用身份服务。它可以帮助您节省精力和金钱。亚马逊,谷歌,苹果,Okta,Auth0,geetoPod等都有许多此类服务。