django -rest-auth Google и Facebook подписываются, возвращая токен доступа и код - PullRequest
0 голосов
/ 23 января 2020

Я создаю API отдыха с Django, и я использую Django Auth rest для социальной аутентификации. Я верю, что все делаю правильно. при посещении маршрута я получаю ответ, что я должен предоставить как маркер доступа, так и код для Google и Facebook. Я потерян в этот момент, что делать. Пожалуйста, всем, у кого есть идея, поделитесь.

Я получил секретный ключ и идентификатор клиента от обоих провайдеров и ввел их в мои настройки settings.py и django admin.

settings. py

INSTALLED_APPS = [
    ...
    'django.contrib.sites',
    ...
    'rest_auth',
    'rest_auth.registration',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.google',
    'allauth.socialaccount.providers.facebook',
    ...
]

SOCIALACCOUNT_PROVIDERS = {
    'facebook': {
        'METHOD': 'oauth2',
        'SCOPE': ['email', 'public_profile', 'user_friends'],
        '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': True,
        'VERSION': 'v2.12',
        'APP': {
            # get the key from "https://developers.facebook.com/apps/615248019004301/settings/basic/"
            'client_id': 'code',
            'secret': 'code',
            'key': ''
        }
    },
     'google': {
        'SCOPE': [
            'profile',
            'email',
        ],
        'AUTH_PARAMS': {
            'access_type': 'offline',
        },
        'APP': {
            # get from "console.developers.google.com/" then apis then credentials then oauthclient
            # fill in http://127.0.0.1:8000/accounts/google/login/callback/ in the “Authorized redirect URI” field
            'client_id': 'code.apps.googleusercontent.com',
            'secret': 'code',
            'key': ''
        }
    }
}

SITE_ID = 1

SOCIALACCOUNT_ADAPTER = "allauth.socialaccount.adapter.DefaultSocialAccountAdapter"

SOCIALACCOUNT_EMAIL_REQUIRED = ACCOUNT_EMAIL_REQUIRED

how my django admin is set up

The response i get

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...