Google OAuth2 Проверить токен доступа в потоке сервера

Я вручную пишу OAuth2 Server Flow, чтобы позволить пользователям входить в систему с помощью Google (и других веб-сайтов, но давайте сосредоточимся на Google).

У меня основной поток работает:

  1. пользователь нажимает на ссылку для входа.
  2. заходит в гугл и видит экран согласия
  3. принимает.
  4. перенаправлен обратно на мой сайт.
  5. Сервер принимает соответствующую информацию и регистрирует пользователя.

Все идет нормально. Теперь я хочу убедиться, что сервер запомнит пользователя в следующий раз. Для этого я храню токен вместе с другими пользовательскими данными на сервере.

Теперь, как мне проверить сервер-сервер, если токен все еще действителен? У меня есть время истечения, поэтому я знаю, что оно недействительно по истечении этого времени, но что мне тогда делать? Стоит ли запрашивать постоянный (автономный) токен, если я хочу разрешить только вход?

0

Решение

В результате успешной авторизации от Google вы также должны получить refresh_token. Если вы не получаете, то сделайте следующее.

  1. когда вы перенаправляете на конечную точку авторизации, добавьте дополнительный параметр access_type = offline, который будет гарантировать, что вы получите refresh_token
  2. Используйте токен обновления, чтобы получить дополнительные токены доступа.

Теперь для проверки вы можете нажать конечную точку проверки токена Google, если вы не поддерживаете состояние. Если вы поддерживаете состояние, то вы можете проверить срок действия токена, если токен только подписан, если он зашифрован, то вам нужно выполнить проверку в Google.

Вы можете играть с разными URL OAuth Google Вот

подробнее о проверке токена Вот

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]