我正在使用django all-auth
通过社交网络对用户进行身份验证,因此,当我尝试通过网址facebook/google/twitter
登录时:
http://127.0.0.1:8000/accounts/socialnetwork/login
(这里socialaccount
是facebook / google / twitter),我可以成功登录,然后重定向到:
http://127.0.0.1:8000/accounts/profile/
但是当我要去网址时:
http://127.0.0.1:8000/accounts/socialnetwork/login/callback/
我收到此错误“通过社交网络登录时出错”但如果我已登录则可能会看到“注销”和“更改电子邮件”选项。
另外,当我要去
时http://127.0.0.1:8000/accounts/social/connections/
有时我只能看到谷歌和Twitter帐户,有时只能查看Facebook帐户,但不能同时看两者,具体取决于我在settings.py中的site_id。 现在我真的很困惑这是我的回调网址还是我的网站域名或其他问题。
答案 0 :(得分:0)
你提到访问http://127.0.0.1:8000/accounts/socialnetwork/login/
(我假设socialnetwork
是google / twitter / facebook之一)工作正常。恭喜! - 因为这些是与第三方提供商登录的正确入口点。
您不应该直接亲自访问回调网址。它意味着由第三方提供商重定向。在这样做时,它传递可用于登录的与认证相关的代码。如果你直接访问这些代码这些代码没有通过,那么,系统会抱怨“发生错误”......
关于社交关系网址的问题:您在此处看到的是连接到本地用户帐户的所有第三方帐户。因此,如果它不时变化,我只能假设您在不同帐户下登录 - 这意味着不同的连接第三方帐户。