Выход пользователя

Есть несколько вариации организации данного процесса. Процессы схожи, но есть особенности.

Особенности:

  • простая интеграция
  • подойдет для проектов с необязательной авторизацией
  • не связывает сессии авторизаций в проектах

Клиентское приложение при авторизации пользователя хранит его токен доступа в сессии/куки. Во время выхода пользователя из учетной записи на стороне клиентского приложения необходимо прервать и удалит сессию/куки вместе с токеном доступа.

Особенности:

  • средняя сложность интеграция
  • подойдет для закрытых проектов
  • частично связывает сессии авторизаций в проектах

Клиентское приложение при авторизации пользователя хранит его токен доступа в сессии/куки. Во время выхода пользователя из учетной записи на стороне клиентского приложения необходимо прервать и удалит сессию/куки вместе с токеном доступа. Далее перенаправить пользователя на стандартную авторизацию по oauth2 добавив параметр prompt=login. Сервис авторизации разлогинит пользователя на своей стороне и выведет пользователю форму авторизации. После авторизации пользователь вернется в приложение клиента.

Особенности:

  • средняя сложность интеграция
  • подойдет для закрытых проектов
  • не связывает сессии авторизаций в проектах
  • добавляет вариативность для пользователя

Клиентское приложение при авторизации пользователя хранит его токен доступа в сессии/куки. Во время выхода пользователя из учетной записи на стороне клиентского приложения необходимо прервать и удалит сессию/куки вместе с токеном доступа. Далее перенаправить пользователя на стандартную авторизацию по oAuth2 добавив параметр prompt=consent. Сервис авторизации для уже авторизованного пользователя выведет окно подтверждения доступа (даже если подтверждение было выдано ранее). На странице подтверждения доступа пользователь может выбрать нужное ему действие: продолжить или выйти для выбора другой учётной записи. После авторизации пользователь вернется в приложение клиента.

  1. Пользователь в клиентском приложении нажимает кнопку "выйти".
  2. Клиентское приложение очищает сессию пользователя.
  3. Клиентское приложение запоминает локальную страницу для обратного редиректа пользователя.
  4. Клиентское приложение редиректит пользователя на страницу с базовым процессом oAuth2 авторизации с указанием нужного значения для параметра prompt (login, consent).
  5. Сервис авторизации обрабатывает запрос, производит необходимые операции.
  6. Пользователь повторно авторизируется и попадает обратно в клиентское приложение.
  7. Клиентское приложение производит авторизацию по oauth2 и возвращает пользователя на запомненную страницу (шаг 3).

При обычной авторизации promt без надобности отправлять не нужно.