Социальный логин (facebook) с Django Rest Framework всегда возвращает неверный токен - PullRequest
0 голосов
/ 08 марта 2019

Я создаю свой логин через учебник . Я пытаюсь войти на Facebook через конечную точку .../social/facebook/ и всегда получаю ответ json:

{
    "errors": {
        "token": "Invalid token",
        "detail": "400 Client Error: Bad Request for url: https://graph.facebook.com/v2.9/me?access_token=EAATf9P6TS9YBAOWem3RUZAIaUF5H6p67NfcUlSHx9JuQUBZBZBEIb6jaYQERjfB5a0QzKV0Op7FrNe0ZCZANlozR3YPExI8AarGoL9y5PKSbBRlwThDq5OyAruncW7rdMMsQLt48Uzak6kdMz4ZAJTJElKcynM0OOoPkZC6ZCoVJiRxOZCPWUkxqhhEZB6Th5TVuEZD&appsecret_proof=7ea0621354a3de8cde89cd288443f091634d3b8ab73e1ea93f6a58d1867d17bd"
    }
}

Мой JSON сообщение это:

{
    "access_token": "EAATf9P6TS9YBAOW****"
}

Вот мой код: Мои настройки:

INSTALLED_APPS = [
...
    # libs for SignUp in API
    'social_django',
    'rest_auth',
    'rest_framework.authtoken',

AUTHENTICATION_BACKENDS = (
        'social_core.backends.facebook.FacebookOAuth2',
        'social_core.backends.google.GoogleOAuth2',
        'register.backends.EmailBackend',
        'django.contrib.auth.backends.ModelBackend',
    )

SOCIAL_AUTH_FACEBOOK_KEY = '137214324***'
SOCIAL_AUTH_FACEBOOK_SECRET = '*****'

SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']

for key in ['GOOGLE_OAUTH2_KEY',
            'GOOGLE_OAUTH2_SECRET',
            'FACEBOOK_KEY',
            'FACEBOOK_SECRET']:
    exec("SOCIAL_AUTH_{key} = os.environ.get('{key}', '')".format(key=key))

SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = ['email', 'profile']

SOCIAL_AUTH_ADMIN_USER_SEARCH_FIELDS = ['username', 'first_name', 'email']

SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL = True

SOCIAL_AUTH_PIPELINE = (
    'social_core.pipeline.social_auth.social_details',
    'social_core.pipeline.social_auth.social_uid',
    'social_core.pipeline.social_auth.auth_allowed',
    'social_core.pipeline.social_auth.social_user',
    'social_core.pipeline.user.get_username',
    'social_core.pipeline.social_auth.associate_by_email',  # <- this line not included by default
    'social_core.pipeline.user.create_user',
    'social_core.pipeline.social_auth.associate_user',
    'social_core.pipeline.social_auth.load_extra_data',
    'social_core.pipeline.user.user_details',
)

Мои взгляды и мой сериализатор, я следую этому файлу

Я определил бэкэнды, переменные для фейсбука, там нет ни одной переменной? Ключи верны.

Я правильно делаю свой запрос? Мои настройки верны? Я не знаю, почему Facebook не может войти.

...