我正在尝试安装和配置Django AllAuth,但我遇到了太多障碍。我担心我只是遗漏了一些可能会清除某些内容的基本概念。
1)为了获得基本的社交认证,需要在社交提供者(facebook,twitter等)内进行设置。
2)如果是这种情况,那么如何在本地开发,因为乍一看twitter的API设置它要求重定向URL,考虑到现在的所有东西都是本地托管的。
3)当我尝试转到/accounts/login/
时,它每次都会重定向到/accounts/profile/
。似乎无法弄清楚导致此重定向的原因。
4)我之前使用Userena进行用户身份验证,并准备添加django-social-auth但是当我进入它时给了我很大的困难。然后我发现AllAuth似乎完全符合我的需要但又有一些问题。任何人都可以权衡这个决定,你会推荐一个超过另一个,如果是这样,为什么?谢谢你的帮助。
更新: Facebook错误: “应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL。它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域。“
当我点击没关系时,它会重定向回我的网站。我的浏览器给了我一个安全错误,当我继续操作时,我最终回到我的网站显示: “社交网络登录失败 尝试通过您的社交网络帐户登录时出错。“
答案 0 :(得分:11)
1)看看这里:https://speakerdeck.com/tedtieken/signing-up-and-signing-in-users-in-django-with-django-allauth
(具体来说,幻灯片61及以上)
2)只需在重定向网址
中使用127.0.0.1:8000即可 3)默认情况下,allauth会重定向到LOGIN_REDIRECT_URL
,其开箱即用于/ accounts / profile /:https://docs.djangoproject.com/en/dev/ref/settings/#login-redirect-url
4)由于我是allauth的作者,我将自己跳过回答这个问题。浏览1)中提到的完整演示文稿 - 初始幻灯片提供了各种选项的良好比较。