Как аутентифицировать и авторизовать пользователя с помощью имени пользователя / пароля и входа в Google?

#rest #authentication #jwt #authorization

#rest #аутентификация #jwt #авторизация

Вопрос:

Архитектура системы выглядит следующим образом

  1. Пользователь может войти на веб-сайт, используя либо логин-пароль (после регистрации), либо Google-вход.

Я хочу знать, как я могу реализовать аутентификацию и авторизацию для этого сценария.

Вот что я думаю о реализации :

  1. Создайте сервер REST API поверх NodeJS и Express.
  2. Процессы входа и регистрации также обрабатываются этим сервером.
  3. Аутентификация выполняется с помощью токенов JWT, хранящихся на стороне клиента. И затем эти токены снова используются для авторизации конечных точек.

Насколько безопасен этот подход? И как можно добавить вход в Google в эту архитектуру. А также, нужен ли отдельный сервер для выполнения запросов аутентификации, как указано в OAuth 2.0?

Было бы лучше, если бы система оставалась без состояния, чтобы следовать принципам RESTful API.

Ответ №1:

Этот пост, который я написал, может дать вам некоторое представление.

https://dev.to/ralphwjz/login-management-for-spa-and-everyone-else-12o6

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

Я могу ответить на несколько вопросов один раз в контексте