Как мы можем настроить OAuth 2 для работы только для определенного идентификатора электронной почты? - PullRequest
0 голосов
/ 05 февраля 2020

Предположим, у меня есть приложение, в котором я включил (google) аутентификацию Oauth2, но я хочу, чтобы только несколько деловых людей могли войти в мое приложение с указанным там c идентификатором электронной почты, а остальные люди не могут , Как мы можем достичь этого, используя Oauth2?

1.) Многие люди имеют учетную запись Google и могут проходить аутентификацию с помощью Google

2.) Я хочу, только некоторые из них должны иметь разрешение на использование вашего приложение, которое может иметь дело с бизнес-активами

1 Ответ

0 голосов
/ 05 февраля 2020

Я подозреваю, что ваше требование:

  • Многие люди имеют учетную запись Google и могут проходить аутентификацию с помощью Google
  • Только некоторые из них должны быть авторизованы для использования вашего приложения, что может быть имеет дело с корпоративными активами

В этом случае я бы поступил примерно так:

ШАГ 1: ПРЕДВАРИТЕЛЬНАЯ НАСТРОЙКА ПОЛЬЗОВАТЕЛЯ

Получить список пользователей и выполните шаг одобрения администратора, чтобы создать их в базе данных вашего продукта, возможно, с полями Имя и Электронная почта .

ШАГ 2: ВКЛЮЧИТЬ ЭЛЕКТРОННУЮ ПОЧТУ ОБЛАСТЬ ПРИМЕНЕНИЯ ВО ВРЕМЯ ЛОГИНОВ

В перенаправлении входа в Google используйте scope = 'openid email' , чтобы вы могли идентифицировать пользователя по электронной почте после входа в систему. Разрешить пользователям успешно проходить аутентификацию.

ШАГ 3: ПОСЛЕ ВХОДА В СИСТЕМУ ПРОЦЕССА ЖЕЛЕЗНОДОРОГО ДОСТУПА

После этого вы сможете получить адрес электронной почты пользователя из токена доступа. (хотя вам, возможно, придется отправить его в конечную точку Google User Info).

ШАГ 4: ОТКРЫТЫЙ ДОСТУП, КОГДА ТРЕБУЕТСЯ

Если вы не можете найти электронную почту, связанную с токеном, в данных пользователя вашего продукта, представьте пользователю Запрещенное сообщение .

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

См. Запись данных пользователя для получения дополнительной информации о технических возможностях. Обратите внимание, что я фактически не проверял это с Google, но я использовал общий подход с несколькими различными системами.

...