【问题标题】:Delegated vs federated authentication委托与联合身份验证
【发布时间】:2023-03-25 04:21:01
【问题描述】:

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

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

不过,我不确定自己是否走在正确的轨道上。

我想要的是:

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

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

对此有何想法、提示或建议?

【问题讨论】:

    标签: authentication oauth authorization oauth-2.0 openid


    【解决方案1】:

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

    由于您使用的是 node.js,我强烈建议您以出色的 passport 中间件为起点。

    【讨论】:

      猜你喜欢
      • 2019-03-10
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 2021-05-21
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      相关资源
      最近更新 更多