@belyaevcyrill

Какие поля в таблице должны быть для OAuth2.0-авторизации?

Возникла необходимость сделать в web-приложении так, чтобы пользователи могли заходить в личный кабинет с помощью учётной записи вконтакте и фейсбук. Насколько я знаю, обе социальные сети поддерживают протоколы авторизации OAuth 2.0.

Все пользователи в web-приложении содержатся в таблице user. Подскажите, пожалуйста, какие дополнительные поля нужно добавить в эту таблицу, чтобы обеспечить OAuth 2.0 в web-приложении?

Спасибо!
  • Вопрос задан
  • 592 просмотра
Пригласить эксперта
Ответы на вопрос 2
thewind
@thewind
php программист, front / backend developer
В данном вопросе следует подумать логически - посмотреть на то, как работает oauth. Изначально, его цель - выдать вам access_token для получения доступа к функциям API. При этом, вместе с токеном вам выдается user_id. Вот их и надо хранить, чтобы не запрашивать токен каждый раз, а использовать его после получения.

Но токен имеет свойство "истекать". Поэтому вам также будет выдано значение expired_in и refresh_token, их тоже надо хранить, чтобы при истечении срока действия токена обновить его с помощью refresh_token.

user_id нужен для сопоставления вашего внутреннего id и внешнего id в другой сети.

ну как-то так...
Ответ написан
@kidar2
Не надо ничего хранить. Как только сессия пользователя в вашем приложении истекла он всё равно будет заново авторизовываться. Всё что нужно получать от сервиса авторизации - это email, и сопоставлять его с вашей базой, чтобы понимать под кем авторизовывать.
Хранить всякие токены или expired_in ни к чему.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы