Oauth2.0 и регистрация пользователя и вход в систему

#oauth-2.0

#oauth-2.0

Вопрос:

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

Ответ №1:

Электронная почта и имя на сервере авторизации могут быть изменены пользователем, но идентификатор пользователя — нет. Вы можете получить идентификатор пользователя, получив sub поле с сервера авторизации для создания записи пользователя в вашей базе данных. Например, сохранение в базе данных, как:

 sub: string <-- user id on google
provider: google <--- the provider (Authorization Server)
  

-> каждый раз, когда пользователь входит в систему с помощью Google, вы можете проверить, существует ли пользователь в вашей базе данных, проверив (sub, поставщик)

Где вы можете получить sub ?

Комментарии:

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