Вход Oauth 2 (Passport. js) никогда не должен завершаться неудачно, верно? - PullRequest
0 голосов
/ 05 августа 2020

Если у меня есть логин Oauth 2 для Google (с использованием Passport.js / Express), и пользователь никогда раньше не заходил на мой сайт, произойдет следующее:

ВАРИАНТ 1: Первый раз пользователь

Пользователь -> нажимает на вход в Google Oauth 2 -> Выполняется работа серверной части -> Пользователь вошел в систему

ВАРИАНТ 2: Вернувшийся пользователь

Пользователь -> нажимает на вход в Google Oauth 2 -> Происходит работа серверной части -> Пользователь вошел в систему И данные пользователя извлекаются из базы данных

ВАРИАНТ 3: Пользователь не может войти в свою учетную запись Google

Пользователь -> нажимает на вход в Google Oauth 2 -> не может войти, потому что пользователь забыл свой пароль / адрес электронной почты Google

В то время как первые два параметра будут такими же, за исключением того факта, что для Вариант 1 я буду ОТПРАВЛЯТЬ в базу данных, а для Вариант 2 ПОЛУЧАЮ из базы. Однако третий вариант не является моей проблемой, когда пользователь пытается войти в Google, он уже был перенаправлен на accounts.google.com/signin/(...). Я пытаюсь сказать, что если возникает вариант 3, мне действительно не нужно писать код для этой ситуации.

Итак, будь то первый пользователь или вернувшийся пользователь, если пользователь доступ к моему сайту через oauth 2, либо они успешно войдут в Google, и я получу данные, либо они не смогут войти, и никакая информация пользователя не будет отправлена ​​мне, но в любом случае технически мне никогда не придется не справиться с этой операцией, потому что этого никогда не произойдет? быть ошибкой для десериализации, не так ли?

1 Ответ

1 голос
/ 06 августа 2020

ВАРИАНТ 3

Вы правы, что вам не нужно писать здесь код, потому что у вас есть внешний вход на сервер авторизации.

ВАРИАНТ 1

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

ВАРИАНТ 2

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

ОБРАБОТКА ОШИБОК

Обычно сервер авторизации может возвращать вам ответы об ошибках в некоторых случаев, и в этом случае он предоставит вам код и описание - как в шаге 10 моей записи .

БОЛЬШЕ О ДАННЫХ ПОЛЬЗОВАТЕЛЯ

Мои Данные пользователя * Сообщение в блоге более подробно исследует идентификацию новых и существующих пользователей, если это будет полезно.

...