Выход из нескольких систем в единый вход (единый вход) - PullRequest
0 голосов
/ 10 февраля 2019

Я внедряю SSO для наших систем, чтобы централизовать аутентификацию и авторизацию пользователей, в которой у нас будет SSO-сервер (User and Session Manager), где пользователь входит в систему, используя свои учетные данные, а затем сможетдля доступа ко всем другим связанным системам.

Реализация единого входа:

  1. Сначала пользователь получит сеанс (токен доступа + токен обновления), и они будут сохранены на стороне клиента.,
  2. Если он перенаправит на другие системы, SSO-сервер для этой системы сгенерирует (токен одноразового использования)
  3. И при загрузке системы (токен одноразового использования) будет заменен напара токенов доступа и токенов обновления, и они будут храниться на стороне клиента этой конкретной системы
  4. . И при каждом запросе сервера сеанс (токен доступа + токен обновления) будет отправляться через заголовок запроса, так чтосервер системы может запросить авторизацию этого пользователя у сервера единого входа.

Срок действия токена доступа меньше, чем токена обновления, и он не хранится на сервере единого входа, и только его подпись проверяется для авторизации, но токен обновлениясохранены, чтобы мы могли отозвать его позже, если это необходимо.(Из-за огромного количества запросов на авторизацию, которые мы получим позже, я не хотел сохранять токен доступа.)

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

Я использую JWT для генерации и проверки токенов.

Это мой первый вопрос здесь, я надеюсь, что я правильно объяснил проблему.И я буду ждать ваших добрых ответов.

1 Ответ

0 голосов
/ 10 февраля 2019

Желательно использовать куки для хранения ваших токенов.Когда пользователь вышел из системы.Просто очистите куки и вернитесь.Теперь у пользователя нет токена доступа и он не будет аутентифицирован.

Примечание. Обязательно создайте безопасный файл cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...