如何解决 facebook django url social-auth-app-django 问题?

How to solve facebook django url social-auth-app-django problem?

我试图在我的网站上安装 social-auth-app-django facebook,但我收到此错误,在本地主机上一切正常,但现在当我更改我网站的设置时,它不起作用:(

我的settings.py:

LOGIN_URL='Logowanie'
LOGIN_REDIRECT_URL = 'MeetMe!'

SOCIAL_AUTH_FACEBOOK_KEY = '***********'  # App ID
SOCIAL_AUTH_FACEBOOK_SECRET = '***********'  # App Secret
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/przekierowanie/'
SOCIAL_AUTH_FACEBOOK_SCOPE = [
    'email',
]
SECURE_SSL_REDIRECT = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SOCIAL_AUTH_REDIRECT_IS_HTTPS = True

我自己解决!

我做了什么: 添加到 settings.py

SOCIAL_AUTH_FACEBOOK_API_VERSION = '2.11'

我遵循了本教程 no such table: social_auth_usersocialauth

1.pip install python-social-auth==0.2.21 2.pip install social-auth-app-django 3.Set Django's app list and the backend-related settings according to the settings paragraph of the migration page. 4.Apply migrations: python manage.py migrate 5.Uninstall the old package: pip uninstall python-social-auth

我将开发人员的 Facebook 状态设置为实时 领域: domain.pl

Url: https://domain.pl

有效的 OAuth 重定向 URI: https://domain.pl/oauth/complete/facebook/

首先转到Setting.py并将这段代码放在所有代码的末尾:

AUTHENTICATION_BACKENDS = [
    'social_core.backends.facebook.FacebookOAuth2',
]

第二次访问此地址的 FaceBook 开发人员: https://developers.facebook.com

并在那里开设一个帐户。 转到我的应用程序然后单击创建应用程序然后输入您的网站名称((注意...如果您使用本地主机,您需要为您的本地 IP 输入一个域名))和您的电子邮件并单击创建应用程序ID 并在您的仪表板中寻找 Facebook 登录并单击“设置”。 然后在 Web Window 的第一步中输入您的本地主机的网站名称,例如输入 mysite.com:8000/ 然后单击保存,其他选项只需交叉。 现在在左侧的仪表板中单击设置,然后单击基本如果您看到您的应用程序 ID 和您的应用程序密码,请将这两个放在您的 Settings.py 最后一个代码之后。

SOCIAL_AUTH_FACEBOOK_KEY = 'Put Your App Id Code Here'
SOCIAL_AUTH_FACEBOOK_SECRET = 'Put Your App Secret Code Here'

如果您想获取用户的电子邮件,您也可以这样做。

SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']

现在在您的仪表板中转到设置,然后转到基本应用程序域中输入您的网站名称也转到高级后转到设置并将网站名称放入域管理器中单击添加域。

现在再次在仪表板中进入产品+部分并在设置后单击 Facrbook 登录并检查这些选项是否处于活动状态(是):

  • • 客户端 OAuth 登录
  • • Web OAuth 登录
  • • 强制执行 HTTPS
  • • 嵌入式浏览器 OAuth 登录

在这个表格中,您现在也在这个字段中输入有效的 OAuth 重定向 URI 并把这个 URL: 例如。com/social-auth/complete/facebook/

并将您的按钮放在具有此登录身份验证的网站页面中:

<li>
     <a href="{% url "social:begin" "facebook" %}">Sign in with Facebook</a>
</li>