多租户应用程序 Owin 外部登录

Multi-Tenant Application Owin External Logins

我正在构建一个多租户应用程序,但在为 Facebook 和 Google 外部登录 Owin 和 WIF 指定多个子域时遇到问题。

租户正在使用子域,例如:

http://tenant-1.domain.com/
http://tenant-2.domain.com/
http://tenant-3.domain.com/

使用 Facebook 和 Google 我无法为应用程序的 returns url 指定多个子域。

这个问题还有哪些其他解决方案?

我想过建立一个单一的登录页面,登录后识别用户,并执行到租户对应子域的路由。问题是每个租户访问他自己的数据库,而这个解决方案涉及拥有所有用户的公共数据库。

简而言之,我需要对多租户使用外部登录,每个租户都有一个子域。我认为这个问题并不罕见,Whosebug 中的答案已经过时,不再适用,因为已更改 Facebook 和 Google.

中的应用程序设置

最后,我们采用了类似Single Sign On Server 的解决方案类型,将所有用户管理与应用程序分开。

对于此类解决方案,我们建议使用 Identity Server v3 (https://github.com/IdentityServer/IdentityServer3)。

谢谢!