2013-04-06 97 views
3

基本要求是集中认证和授权多个SaaS应用程序以简化开发(每个SaaS应用程序使用最少的代码对单个来源进行认证),并在必要时提供SSO。认证机构必须处理向用户提供下列选项:集中认证服务器OpenAM vs FreeRadius

  1. 使用第三方认证 - 谷歌
  2. 使用我们的集中认证
  3. 使用企业提供的认证(ADFS)

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

我的问题是:

  1. 似乎有成为每个工具,人们可以用其他的一起插件(OpenAM - 验证对RADIUS服务器),但没有任何使用情况下FREERADIUS将优先于OpenAM上的SOLE认证服务器。

  2. OpenAM是否需要为服务器安装Web代理 - 如果我只是在服务Restful接口(在Node.js中开发) - 是否可以在不安装Web代理的情况下对用户进行身份验证(没有Node.js的网络代理)。

  3. 我可以从浏览器 - >服务器(node.js) - > OpenAM传递用户凭据,从而不会给用户OpenAM登录屏幕。 OpenAM令牌将从OpenAM - >服务器 - >浏览器传递(将cookies的起源设置为SaaS的应用程序 即每个SaaS应用程序服务器将作为用于用户管理的“代理”(验证,授权和管理[创建|更新|删除]用户)

谢谢

回答

0

你要比较一个RADIUS与Web SSO解决方案断绝......我不知道,如果这是有道理的

它。似乎FreeRadius没有那么多'auth backends'(就像Oauth利用Google Auth一样)

+0

我同意。最好坚持使用openAM--你对问题2和问题3有任何想法。 – 2013-04-12 05:35:01

1

我很早就参与了Open Identity Stack游戏,但我正在部署基于OpenAM(和OpenIDM + OpenDJ)的解决方案来处理您提到的解决方案。

直接回答:

  1. 至于到FREERADIUS发放唯一的身份验证我不明白为什么你会想,但一切皆有可能。考虑到你提到的多个目录(身份来源 - 谷歌,ADFS和你的集中认证),我认为挂钩OpenAM提供RADIUS认证(即OpenAM RADIUS挂钩,而不是FreeRadius)会有意义。
  2. 不,网络代理不一定要被应用,但它可能是有意义的。有一些node.js文件可以帮助(https://github.com/alesium/node-openam)。你只需要从你的服务器到OpenAM端(REST),这应该是好的。
  3. 你可以做到这一点,或者你可以使OpenAM登录屏幕看起来像你自己的。我建议后者,因为那时你依靠OpenAM来实现登录屏幕安全。如果你正在做一个纯代理,那么你就承担了这个负担。你的电话显然是一个设计决定。

祝你好运!