基本要求是集中多个SaaS应用程序的身份验证和授权,以简化开发(每个SaaS应用程序使用最少的代码对单个源进行身份验证),并在必要时提供SSO。身份验证机制必须处理用户可用的以下选项:


使用第三方身份验证-Google
使用我们的集中身份验证
使用公司提供的身份验证(ADFS)


在我的研究中,我发现可以完成许多方法,并且发现OpenAM是最完整的解决方案,但是后来我遇到了也可以使用的FreeRadius。

我的问题是:


每个工具似乎都有一个插件,可以使它们一起使用(OpenAM-对radius服务器进行身份验证),但是在任何用例中,FreeRadius都比OpenAM更适合作为SOLE身份验证服务器。
OpenAM是否要求为服务器安装一个Web代理-如果我所做的只是提供一个Restful Interface(由Node.js开发),是否可以在不安装Web代理的情况下对用户进行身份验证(Node没有Web代理)。 js)。
我可以从浏览器->服务器(node.js)-> OpenAM传递用户凭据,从而不向用户提供OpenAM登录屏幕。 OpenAM令牌将从OpenAM->服务器->浏览器(将cookie的来源设置为SaaS的应用程序)传递。
也就是说,每个SaaS应用服务器都将充当用户管理(验证,授权和管理[创建|更新|删除]用户)的“代理”


谢谢

最佳答案

我刚开始使用Open Identity Stack游戏,但是我正在部署基于OpenAM(以及OpenIDM + OpenDJ)的解决方案,以完全处理您提到的解决方案。

直接答案:


至于将唯一身份验证交给FreeRadius,我不知道您为什么要这样做,但是一切皆有可能。鉴于您提到了多个目录(身份来源-google,ADFS和集中式身份验证),我认为连接OpenAM以提供RADIUS身份验证(即,OpenAM RADIUS钩子,而不是FreeRadius)是有意义的。
不,不必应用Web代理,但这可能是有道理的。有一些node.js片段可以提供帮助(https://github.com/alesium/node-openam)。您只需要从服务器与OpenAM端(REST)进行对话,那应该很好。
您可以执行此操作,也可以仅使OpenAM登录屏幕外观看起来像您自己的皮肤。我建议您使用后者,因为您当时依靠OpenAM来确保登录屏幕的安全。如果您使用的是纯代理,则您会承担相应的负担。您的电话显然是设计决定。


祝好运!

关于restful-authentication - 集中式身份验证服务器OpenAM与FreeRadius,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15847640/

10-14 16:30