【问题标题】:Allauth/facebook won't send/accept httpsAllauth/facebook 不会发送/接受 https
【发布时间】:2018-03-31 11:17:49
【问题描述】:

当我想使用 facebook 登录时,我已经创建了一个应用并将其部署在 digitalocean 上并使用 certbot 启用了 HTTPS:

我收到了这个错误:

和重定向网址:

不是 HTTPS:

我的代码:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'social_django',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',

]

SOCIALACCOUNT_PROVIDERS = {
'facebook': {
    'METHOD': 'oauth2',
    'SCOPE': ['email', 'public_profile'],
    'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
    'INIT_PARAMS': {'cookie': True},
    'FIELDS': [
        'id',
        'email',
        'name',
        'first_name',
        'last_name',
        'verified',
        'locale',
        'timezone',
        'link',
        'gender',
        'updated_time',
    ],
    'EXCHANGE_TOKEN': True,
    'LOCALE_FUNC': 'path.to.callable',
    'VERIFIED_EMAIL': False,
    'VERSION': 'v2.12',
}

}

SOCIAL_AUTH_REDIRECT_IS_HTTPS = 真

AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
# 'social_core.backends.facebook.FacebookOAuth2',
'allauth.account.auth_backends.AuthenticationBackend',

)

登录按钮

{% load socialaccount %}
<a href="{% provider_login_url "facebook" method="oauth2" %}">Facebook OAuth2</a>

【问题讨论】:

    标签: facebook django-allauth


    【解决方案1】:

    尝试将以下内容添加到您的设置中:

    ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https'
    

    (在allauth github上查看这个问题https://github.com/pennersr/django-allauth/issues/1994

    【讨论】:

      猜你喜欢
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多