【发布时间】: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