Задача: Создать провайдера авторизации для экосистемы профсоюзов Профинтех(
profintekh.ru)
Как это работает. Сервис должен предоставлять пользователю "сквозную" авторизацию на всех сайтах экосистемы, следующим образом: зарегистрированный пользователь вводит логин и пароль на одном из сайтов, переходя на другой сайт экосистемы, пользователь оказывается уже залогинен, если он заходил на этот сайт ранее, и подтверждает своё согласие на использование данных своей основной учётной записи "паспорта пользователя Профинтех", и в дальнейшем заходя со своего постоянного браузера на этот сайт, пользователь оказывается уже залогиненным, либо, в случае когда он заходит с нового браузера, или период его авторизации истек, пользователь может ввести логин и пароль, залогиниться, и тогда не всех других сайтах он также может логиниться просто подтверждая своё согласие на использование данных с сайта-провайдера авторизации.
Аналоги сервисов, на которые можем ориентироваться как на положительные примеры:
passport.yandex.ru,
runet-id.com.
В основа экосистемы Профинтех - монолитные приложения на основе CMS Drupal 8/9. В связи с этим возможным решением может являться следующий SSO-модуль:
https://www.drupal.org/project/casи модуль сервера
https://www.drupal.org/project/cas_server (который возможно придется дорабатывать или полностью переделывать, сначала необходимо оценить насколько то, что есть на данный момент годится для нас, разобраться какие проблемы и почему разработка данного модуля замедлилась или полностью приостановилась более года назад, может ли наша организация помочь сообществу выпустить стабильный релиз данного модуля, если это актуально для сообщества).
Следует учитывать, что кроме Drupal 8 в экосистему Профинтех будут включаться различные другие партнерские системы и микросервисы обеспечения различных организаций, возможно, государственных и международных. Обязательно будут подключаться различные системы платежей для пополнения единого лицевого счёта пользователя.
Наше предположение о годности протокола CAS для данного бизнес-проекта необходимо проверить следующим образом: подключить данный модуль на два сайта на базе Друпал, которые будут представлять из себя тестовую площадку для дальнейших более сложных опытов интеграции этой системы с различными существующими платежными системами, сервисами третьих организаций и ПО.
После проверки, предстоит внедрение этой системы, либо поиск альтернативного решения. И затему уже повторение цикла тестирования и, в конце концов, - ввод системы в коммерческую эксплуатацию.
Затем - постоянная поддержка и внесение изменений в систему по мере необходимости.