Ruby SSO,CAS,oauth,userstore.我有什么选择?

oma*_*oma 6 php ruby authentication cas single-sign-on

问:你会如何创建一个SSO?您将如何处理身份验证(单独的应用程序或与sso相同)和用户存储

背景资料:

我们有40多个php应用程序,java应用程序和Ruby应用程序.

目前,我们有自定义SSO +身份验证解决方案.这是一个用PHP编写的应用程序,现在用作SSO,同时支持电子邮件/用户名/电话号码+密码作为身份验证.它可以工作,但仅针对一些应用程序而构建,而不是最初的SSO解决方案.它没有可用的视图,每个应用程序都创建自己的登录/注册表单并使用API​​.他们分享背景,我们想要一个更通用的设计.

现在我们知道除了现有的身份验证之外,还想支持Oauth和openid解决方案,如facebook连接,谷歌等等,(或者我们真的吗?).我们可以扩展现有的php解决方案,但我们正在考虑替代方案.

如果你要用Ruby做这一切,你会怎么做?

一些额外的信息:

  • 今天,所有用户都存在于SSO中.
    • 该公司有时会收购其他公司/系统,拥有自己的用户.你会迁移或创建某种映射器吗?
  • Microsoft CRM中的客户,但我认为这与此无关.或者我呢?
  • 我已经浅薄地看了RubyCAS和ClassyCAS,并且不知道它们是否合适.CAS是否可行?
  • 你会继续使用PHP吗?你会用什么?

如你所见,我有很多问题.你会建议什么?

Mic*_*ohl 2

在之前的工作中,我们使用Jasig CAS进行 SSO(几个 Java 和 Python 中的应用程序)。在克服了配置中的一些怪癖以及我对 Java 的所有东西的厌恶之后,它实际上运行得很好。当时我发现维基是一个有价值的资源,但去年情况可能发生了变化。

身份验证是通过一个单独的应用程序(自定义)使用 OpenLDAP 目录进行处理的,该目录是通过从 AD 服务器获取用户信息的脚本进行预初始化的。

关于实际的服务器,您可能实际上想要使用 Jasig 的服务器,IIRC 它是参考实现,并且很容易通过 Maven 覆盖进行自定义