У меня есть ресурсы, которые объясняют OAuth 2.0 на примере входа Google . Позвольте мне попытаться перефразировать это в соответствии с вашим вопросом.
Давайте возьмем пример входа пользователя в Интерком с помощью «Войти через Google».
- Пользователь нажимает кнопку «Войти через Google». Это приведет к перенаправлению на конечную точку провайдера идентификации
/authorize
(может быть разным для каждого провайдера), которая go - на их страницу входа. - Пользователь перенаправляется на страницу учетных записей Google. Если вы еще не вошли в систему, пользователь может ввести здесь свой адрес электронной почты Google / пароль .
- Google перенаправляет обратно в Интерком с помощью
authorization_code
(например, перенаправляет на https://intercom.com/authcallback?code=XYZ...
) - Внутренний сервер интеркома отправляет это
authorization_code
с client_id
и client_secret
(из своего проекта в Google) и получает access_token
(обычно в конечную точку /token
) - Интерком может затем использовать
access_token
для доступа к профилю пользователя из Google.
Итак, чтобы ответить на ваш вопрос, пользователь может ввести свой адрес электронной почты / пароль на странице поставщика OAuth. . Имейте в виду, что OAuth 2.0 не указывает, как провайдер аутентифицирует пользователя . Это означает, что провайдер OAuth может аутентифицировать своих пользователей разными способами, такими как электронная почта / пароль, email magi c -ссылка, SMS OTP , и c. Предполагается, что ваш веб-сайт просто доверяет провайдеру OAuth в том, что он правильно аутентифицирует пользователя для вас.
Некоторые дополнительные ресурсы, которые помогут вам лучше понять OAuth 2.0: