我想允许基于SaaS、asp.net MVC、多租户数据库的用户使用他们的社交媒体凭据(FB、TW、G+等)登录。
除了社交媒体帐户验证之外,我们如何确定DB中租户内的哪个租户或用户进行验证?我认为应该使用某种Asp.Net Identity来弥补这一差距??
我已经实现了一个自定义的OAuth服务器,该服务器通过OWIN中间件处理各种社交媒体登录模式的可插拔性。
然而,当您想要一种简化的方法时,您可以选择使用Windows Azure
访问控制服务,该服务可以使您通过租户的URI来识别租户。
在这种情况下,您可以从URI.Host.的URI(像子域部分一样)推断租户名称或租户唯一值
你可以参考这里。
如果您想构建自己的模型,则必须通过租户来源的唯一URI、从UI获取租户唯一值或从URI获取查询字符串来捕获租户信息[Reare&least secure case]。
值得思考的要点将是
- 时间
- 成本[Azure不是免费的]
- 定制方面
请分享你对以上几点的看法。