委托与联合身份验证

时间:2013-04-17 16:26:00

标签: authentication oauth authorization oauth-2.0 openid

我正在使用Node.js编写几个Web应用程序。在所有这些应用中,我需要身份验证和授权。我不想做的是在每个Web应用程序中处理身份验证和授权。

因此,我开始考虑使用委托和/或联合身份验证机制,并且到目前为止已经处理过OpenID和OAuth(2)。

尽管如此,我不确定自己是否走在正确的轨道上。

我想要的是:

  • 拥有一个集中的身份验证服务器(可以同时使用OpenID和OAuth)。
  • ANYBODY不应该进行身份验证(这显然是将我从OpenID推送到OAuth,因为我明确地想要允许任何OpenID提供者,例如。)。
  • 我想启用联合:用户不仅应该对我的集中式身份验证服务器进行身份验证,而且此服务器还应与某些预先选择的其他身份验证服务器进行联合(考虑将服务器与现有的ActiveDirectory集成)。我不确定OAuth是否可行,是吗?
  • 我希望我的Web应用程序只信任来自 MY 集中式服务器(或间接来自其中一个受信任的联合服务器)的令牌。这是否可以使用OAuth2 Bearer Tokens?

很多问题......我知道我可以使用SAML与WS-Trust和WS-Federation一起完成所有这些,但我会选择更轻量级的身份验证策略。

有关此的任何想法,提示或建议吗?

1 个答案:

答案 0 :(得分:2)

是的,你可以做到这一切。事实上,您可以使用任何协议(如AD或LDAP目录)将您的应用程序与任何身份提供程序联系起来。 (这正是我们在our server中所做的)。

由于您使用的是node.js,我强烈建议您将优秀的passport中间件视为起点。