#oauth-2.0 #oauth #google-oauth #openid #google-openid
#oauth-2.0 #oauth #google-oauth #OpenID #google-OpenID
Вопрос:
Я разрабатываю приложение Cordova с собственной аутентификацией Google. Я просто хочу, чтобы пользователи создавали свою учетную запись и / или входили в мое приложение, используя кнопку «Войти с помощью Google». Ничего больше.
После успешного входа в систему на устройстве пользователя моему клиентскому приложению присваивается идентификационный токен. Я отправляю этот токен на свой серверный сервер для проверки с помощью предоставленной библиотеки Google. Все работает отлично.
Что теперь? Какой лучший подход?
Могу ли я использовать этот идентификационный токен «ad-vitam-eternam»? Могу ли я полагаться на этот токен для безопасной аутентификации пользователей на моем сервере? Если да, должен ли я хранить его в httpOnly
cookie на стороне клиента?
Google говорит, что я должен создать сеанс. Как в сеансе PHP? Это не очень REST, что нужно делать.
Означает ли это, что мне придется создавать свои собственные токены после проверки токена ID?
Я знаю, что существует много документации, но это сложно и не всегда просто.
Большое вам спасибо за ваши разъяснения
Ответ №1:
Если вы правильно проверите идентификационный токен, вы можете быть уверены, что это настоящий токен, и создать локального пользователя на основе этого. После получения токена ID вы можете создать локальную PHP-сессию и сохранить токен либо в cookie, либо в памяти.
У ID-токена обычно очень короткое время жизни, поэтому предполагается, что он используется только для создания локального пользователя / удостоверения. Таким образом, нет реальной необходимости хранить этот токен в файле cookie.
Вместе с токеном ID вы также можете получить токен доступа. Вы используете этот токен доступа для доступа к API Google, если хотите это сделать.
Ответ №2:
После еще нескольких поисков я нашел эту веб-страницу. Выданный токен действителен в течение часа, поэтому я просто использую его для создания сеанса без состояния.