【发布时间】:2021-09-08 23:57:27
【问题描述】:
我目前有一个多租户 SPA 应用程序,它使用通配符 URL 来区分租户和数据库。例如https://tenant1.appname.com 可能与数据库tenant1_db 相关联,https://tenant2.appname.com 将与数据库tenant2_db 相关联。
目前,前端 SPA 与后端 .Net API 托管在同一台服务器上。我将 cookie 身份验证与仅 HTTP cookie 一起使用,因为所有内容都托管在同一个站点上——我不必处理 CORS 或类似的东西。
我正在探索使用 OIDC 从 Azure AD 进行身份验证的可能性。我的理解是 RFC 规范声明必须对绝对 URI 进行 OIDC 回调。所以,我无法回调 https://tenant1.appname.com 之类的东西。
我读过一些关于使用状态来跟踪租户并在 OIDC 登录后重定向的地方。我只是好奇这在 cookie 和跟踪令牌方面是如何工作的。如果回调 URL 为 https://appname.com/callback,然后 SPA 客户端转发到 https://tenant1.appname.com,则由于域不同,我的 cookie/令牌现在似乎无效或无法访问。
有人能解释一下这是如何工作的吗?
【问题讨论】:
标签: javascript single-page-application openid-connect