Google Authentication Django Social Auth2 django Rest Api - PullRequest
0 голосов
/ 31 января 2020

Я хочу реализовать функцию входа в Google, я использую django rest и reactjs, я видел учебник, но они на ядре django, и я сталкиваюсь с трудностями, однако после большого количества исследований у меня есть видел django социальный auth2, через который мы можем войти через google, используя django rest, получив токен, но я запутался, так как не могу понять, как это работает, мой прогресс пока:

INSTALLED_APPS = [
      ......
      ......
    # social-auth
    'oauth2_provider',
    'social_django',
    'rest_framework_social_oauth2',


]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'solid_proto', 'templates', 'allauth')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                 ......
                 ......
                'social_django.context_processors.backends',
                'social_django.context_processors.login_redirect',
            ],
        },
    },
]

AUTHENTICATION_BACKENDS = (

    # `allauth` specific authentication methods, such as login by e-mail
    'allauth.account.auth_backends.AuthenticationBackend',
    # Google OAuth2
    'social_core.backends.google.GoogleOAuth2',
    'rest_framework_social_oauth2.backends.DjangoOAuth2',
    'django.contrib.auth.backends.ModelBackend',
)

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = key
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = Secret

SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [
    'https://www.googleapis.com/auth/userinfo.email',
    'https://www.googleapis.com/auth/userinfo.profile',
]

Это должно произойти, как если бы пользователь нажал на вход в Google, чтобы отреагировать, а затем в бэкэнде будет введен API, а также учетные данные пользователя (имя пользователя и пароль Google), если учетные данные аутентифицированы, будет возвращен токен, который будет в дальнейшем используется для доступа к API системы. Пожалуйста, направьте меня или поделитесь со мной хорошим источником благодарности!

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