这个问题是关于 Node.js 的 Passport Azure 策略的。对于上下文,我试图将我们的旧 JavaScript/jQuery 应用程序指向一个基于 Node 构建的新 API 端点,并且我试图将身份验证与 Microsoft 结合起来。(我在 GitHub 上浏览了几个示例,包括使用不记名令牌的SPA <--> API 示例,以及使用 OIDC 策略的 API 示例)。
这些说法正确吗?
OIDC 策略适用于完全由节点(M、V 和 C)托管的应用程序。也就是说,Node App 呈现视图,获取用户身份验证,将会话信息存储在 cookie 中,在数据库中保留对该会话的引用,并保护 API 端点。 API 和视图是同一个实体。
另一方面,在 SPA <--> API 场景中:API 需要来自前端的不记名令牌。由 SPA 获取令牌(通过 msal.js)。API 不会将会话信息存储在数据库中,尽管 SPA 可能会将信息保存在浏览器的
localStroage
. SPA 和 API 是独立的实体。