委托身份验证vs联合身份验证



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

因此,我开始考虑建立一个委托和/或联邦身份验证机制,到目前为止,我已经处理了OpenID和OAuth(2)。

然而,我不确定我是否在正确的轨道上。

我要的是:

  • 有一个集中的身份验证服务器(这是可能使用,OpenID和OAuth)。
  • 任何人都不应该进行身份验证(这显然是将我从OpenID推向OAuth,因为我明确地做希望允许任何OpenID提供商,例如)。
  • 我想启用联合:用户不仅应该能够对我的集中认证服务器进行身份验证,而且这个服务器应该与一些预先选择的其他认证服务器进行联合(考虑将服务器与现有的ActiveDirectory集成)。我不确定OAuth是否可以做到这一点,是吗?
  • 我希望我的web应用程序只信任来自我的集中式服务器的令牌(或者间接地,来自受信任的联邦服务器之一)。这是否可能与OAuth2承载令牌?

很多问题…我知道我可以使用带有WS-Trust和WS-Federation的SAML来实现这一切,但是我宁愿选择更轻量级的身份验证策略。

有什么想法、提示或建议吗?

是的,你可以做到这一切。事实上,你可以将你的应用与任何协议上的任何身份提供者连接起来,比如AD或LDAP目录。(这正是我们在服务器中所做的)。

既然你使用的是node.js,我强烈建议你从优秀的护照中间件开始。

最新更新