Django-allauth 多域名支持

3
我正在创建一个支持多个域名的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的用户将使用回调URL在Facebook上进行身份验证,该回调URL将转到www.webapp.com/accounts/facebook/login/callback。在处理请求时,我可以找到适当的上下文,并重定向到webapp.yourdomain.com/accounts/facebook/login/callback,然后进行真正的身份验证(并设置特定于域的身份验证cookie)。
那么,在django-allauth中是否可行?需要进行多少修改?或者,是否有另一种Django社交身份验证解决方案可以更轻松地实现这一点?
1个回答

1
你应该将Django网站框架与django-allauth一起使用。
消费者密钥和令牌利用了Django网站框架。这对于大型多域项目特别有帮助,但也允许在不干扰设置和数据库的情况下轻松切换到开发(localhost)和生产设置。
只需在管理后端配置每个社交应用程序即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接