【问题标题】:django-allauth with multiple domains具有多个域的 django-allauth
【发布时间】:2013-11-25 02:05:58
【问题描述】:

我正在创建一个支持多个域的 Web 应用程序。例如,如果我的应用被命名为www.webapp.com,我也会有很多客户通过 DNS CNAME 映射将他们的域映射到我的站点,即webapp.yourdomain.com CNAME www.webapp.comfoo.anotherdomain.com CNAME www.webapp.com 等...

我希望用户通过 Google 或 Facebook (OAuth 2.0) 对我的应用进行身份验证 - 我(或域所有者)不必为每个映射的域创建单独的 Google/Facebook 应用。理想情况下,我会让基域充当代理并在响应回调 url 时重定向到适当的映射域。例如,访问webapp.yourdomain.com/accounts/facebook/login 的用户将使用指向www.webapp.com/accounts/facebook/login/callback 的回调URL 对Facebook 进行身份验证。在处理请求时,我可以找到适当的上下文,并重定向到 webapp.yourdomain.com/accounts/facebook/login/callback 进行真正的身份验证(并设置特定于域的身份验证 cookie)。

那么,这在 django-allauth 中可行吗?它需要多少黑客攻击?或者,是否有另一种适用于 Django 的社交身份验证解决方案更容易实现?

【问题讨论】:

    标签: python django oauth-2.0 multi-tenant django-allauth


    【解决方案1】:

    您应该将 Django 站点框架与 django-allauth 一起使用。

    消费者密钥、令牌使用 Django 站点框架。这是 对于大型多域项目特别有用,但也允许 用于在开发(本地主机)和 生产设置,而不会弄乱您的设置和数据库。

    只需在管理后台配置每个社交应用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      • 2014-06-28
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-25
      相关资源
      最近更新 更多