Результаты поиска :

×

Современные приложения Drupal часто используют поставщики идентификации OAuth 2.0 для централизованной аутентификации. Хотя такой подход повышает надежность аутентификации, он может оставлять пробел в управлении пользовательскими сессиями внутри самого Drupal.

Аутентификация может быть делегирована поставщику идентификационных данных, но проверка сессии остается в рамках Drupal, создавая разделение между действительностью токена и временем жизни сессии.

Предлагаемое решение обеспечивает определенный уровень настраиваемости, который работает непосредственно в Drupal. В результате достигается согласованный контроль доступа, снижается риск угроз безопасности, а поведение сессий точно соответствует политикам авторизации OAuth.

В этом разделе мы обсудим все аспекты, от требований и процесса внедрения до результатов.

логотип карты варианта использования

Модуль клиента OAuth

Скачать модуль

Когда сайт на Drupal использует OAuth для аутентификации, ожидается, что решения о доступе будут приниматься в соответствии с действительностью токена OAuth. Теоретически, после истечения срока действия токена доступ должен немедленно прекращаться. На практике это не всегда происходит.

Сессии Drupal часто продолжаются даже после истечения срока действия связанного с ними токена OAuth. Поскольку управление сессиями и проверка токенов работают раздельно, встроенного механизма для автоматического завершения активной сессии Drupal при аннулировании токена не существует.

  • Это несоответствие создает серьезный пробел в контроле доступа. Пользователи могут сохранять доступ после истечения срока действия авторизации. Истекшие токены не всегда приводят к завершению сессии. Отсутствует централизованная точка контроля, гарантирующая, что срок действия сессии строго соответствует сроку действия токена.
  • Благодаря этому, как администратор, вы можете:
    • Синхронизируйте время жизни сессии Drupal с истечением срока действия токена OAuth.
    • Выберите точный параметр истечения срока действия токена в поставщике идентификации, который вы хотите использовать.
    • Определите, что именно произойдет в Drupal, когда срок действия токена истечет.
  • При такой настройке Drupal перестает обрабатывать аутентификацию и управление сессиями по отдельности; они работают вместе, как и должно быть.

При входе в систему поставщик идентификации OAuth передает токен доступа со своим собственным сроком действия. Модуль извлекает это значение из токена и использует его для определения продолжительности вашей сессии Drupal.

  • После включения синхронизации произойдет следующее:
    • Drupal сопоставляет продолжительность вашей сессии с действительностью токена OAuth.
    • Система постоянно проверяет, действителен ли токен, пока вы авторизованы.
    • В момент истечения срока действия токена Drupal выполнит заданные вами действия.
  • Как администратор, вы имеете несколько вариантов:
    • Вы можете отключить пользователей сразу после истечения срока действия токена.
    • Или же вы можете попробовать автоматизировать процесс и заставить Drupal обновлять токен с помощью токена обновления. Примечание: это зависит от вашего поставщика идентификации.
  • Всё это работает автоматически; нет необходимости в дополнительном коде или внешних планировщиках. Drupal просто берёт всё на себя.
  • Синхронизация между сроком действия токена OAuth и сессиями Drupal.
  • Удаление устаревших или неуправляемых пользовательских сессий.
  • Повышена согласованность контроля доступа.
  • Снижение риска для безопасности, связанного с истекшим сроком действия токена.

Синхронизация истечения срока действия токенов при обработке сессий позволяет Drupal обеспечивать контроль доступа — в частности, отзыв доступа — на основе действительности токена OAuth. Основная цель токена OAuth — наличие у вас чего-либо, что дает вам доступ к чему-либо. Логично, что после истечения срока действия токена доступ также должен быть отозван.

Мы свяжемся с вами в ближайшее время.

мо-форма

 Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.

Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.

Содержание

Привет!

Нужна помощь? Мы здесь!

поддержка