【问题标题】:How to solve facebook django url social-auth-app-django problem?如何解决 facebook django url social-auth-app-django 问题?
【发布时间】:2021-12-15 18:27:16
【问题描述】:

我试图在我的网站上使用 social-auth-app-django facebook 并且我收到此错误,在 localhost 上一切正常,但现在当我将设置更改为我的网站时它不起作用:(

我的设置.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

【问题讨论】:

  • 首先,在您截取此类错误消息之前,能否请将您的 Facebook 语言设置为英语。这里的大多数人可能不懂波兰语,您应该在这里用英语提供所有相关信息。
  • 如果您想使用服务器端登录流程,您还需要在应用设置中指定重定向 URI,developers.facebook.com/docs/facebook-login/web#redirecturl

标签: django facebook url oauth


【解决方案1】:

我自己解决!

我做了什么: 添加到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安装social-auth-app-django 3.根据迁移页面的设置段落设置Django的应用列表和后端相关设置。 4.应用迁移:python manage.py migrate 5.卸载旧包:pip uninstall python-social-auth

我将开发者的 Facebook 状态设为直播 领域: 域名.pl

网址: https://domain.pl

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

【讨论】:

    【解决方案2】:

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

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

    在这个地址第二次去 Facebook 开发者: https://developers.facebook.com

    并在那里创建一个帐户。 转到我的应用程序,然后单击创建应用程序,然后输入您的网站名称((注意...如果您使用本地主机,您需要为您的本地 IP 输入一个域名)和您的电子邮件,然后单击创建应用程序ID 并在您的仪表板中寻找 Facebook 登录并单击设置。 然后在 Web 窗口的第一步中输入您的网站名称作为本地主机,例如输入 mysite.com:8000/ 并单击保存,其他选项只需 Cross 即可。 现在在左侧的仪表板中单击设置,然后单击基本,如果您看到您的 APP ID 和您的 APP SECRET 将这两个放在您的 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']
    

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

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

    • • 客户端 OAuth 登录
    • • Web OAuth 登录
    • • 实施 HTTPS
    • • 嵌入式浏览器 OAuth 登录

    并且在此表单中,您现在也可以在此字段中输入有效的 OAuth 重定向 URI 并输入此 URL: exapmle.com/social-auth/complete/facebook/

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-23
      • 2017-05-05
      • 2018-10-26
      • 2012-07-11
      • 1970-01-01
      • 2014-05-13
      • 2020-05-16
      • 1970-01-01
      相关资源
      最近更新 更多