Web applications PHP、Python和Ruby应用程序之间的单点登录方式

Web applications PHP、Python和Ruby应用程序之间的单点登录方式,web-applications,web,single-sign-on,Web Applications,Web,Single Sign On,有一个项目使用Python Django,另一个独立项目使用PHP。两者都有自己的用户身份验证。模块。将用户管理合并在一起的简单方法是什么 我们开始检查开源解决方案,如。这是一个真正令人担忧的问题,这两者都在校园/大学中使用,但不确定它是否适合web应用程序 在遗留应用程序之间启动单点登录(SSO),将来将使用Ruby开发一些应用程序。谁能建议对SSO解决方案进行良好的投资?一个清晰的API,可以用于web应用程序,并且硬件要求不太高。您是否考虑过部署基于的联合身份基础架构? 有开源的解决方案来

有一个项目使用Python Django,另一个独立项目使用PHP。两者都有自己的用户身份验证。模块。将用户管理合并在一起的简单方法是什么

我们开始检查开源解决方案,如。这是一个真正令人担忧的问题,这两者都在校园/大学中使用,但不确定它是否适合web应用程序


在遗留应用程序之间启动单点登录(SSO),将来将使用Ruby开发一些应用程序。谁能建议对SSO解决方案进行良好的投资?一个清晰的API,可以用于web应用程序,并且硬件要求不太高。您是否考虑过部署基于的联合身份基础架构? 有开源的解决方案来构建它

您需要做的第一件事是部署身份提供者(IdP)。并将其连接到所需的身份验证源(ldap、数据库等)

然后,您可以通过服务提供商(SP)将应用程序连接到IdP。基于要连接的软件的语言,有不同的SP解决方案

PHP软件可以通过使用simpleSAMLphp的本机集成进行连接,并且

Python/django应用程序可以使用和进行连接

Ruby软件支持SAML,这要感谢我推荐使用的

——它是Jasig的CAS在Ruby中的一个实现(sinatra应用程序)。根据我的经验,它比Jasig的更容易设置,而且我发现CAS的客户机比SAML的客户机更好(尽管两者都是很好的解决方案)。它与ldap目录(包括AD)以及数据库中的用户记录集成在一起

让PHP应用程序根据CAS服务器进行身份验证很容易,ruby/rails应用程序可以使用,尽管我没有使用过,但看起来很有希望


对于旧式应用程序,甚至只是Apache共享的受保护文件夹,您也可以使用Apache模块。

再加上Dearbry的建议,我得到了一个大局。