如何使用 Facebook、Twitter、Google+ 等实现多租户登录?

How to implement mutli-tenant login with Facebook, Twitter, Google+, etc?

我想允许基于 SaaS、asp.net MVC、多租户数据库的用户使用他们的社交媒体凭据(FB、TW、G+ 等)登录。

除了社交媒体帐户验证之外,我们如何确定要针对数据库中的哪个租户或租户中的用户进行验证?我想应该使用一些 Asp.Net 身份来弥合差距??

我已经实现了一个自定义 OAuth 服务器,该服务器反过来通过 OWIN 中间件处理各种社交媒体登录模式的可插拔性。

但是,如果您想要一种简化的方法,您可以选择使用 Windows Azure 访问控制服务,它可以让您通过他们的 URI 识别租户。

在这种情况下,您可以从 URI.Host 的 URI [如子域部分] 推断租户名称或租户唯一值。

您可以参考here / here / here

如果您想构建自己的模型,则必须通过租户来源的唯一 URI 或从 UI 获取租户唯一值或作为来自 URI 的查询字符串 [罕见且最不安全的情况]。

值得思考的点将是

  1. 时间
  2. 成本 [Azure 不是免费的]
  3. 定制方面

请分享您对以上几点的看法。