Наконец-то закончил доделывать систему единой авторизации для всех своих текущих и будущих сервисов.
Все пакеты, которые в этом деле участвуют, написаны для yii2 на php8.1.
1. https://github.com/ddruganov/yii2-api-auth
Это основной пакет и он управляет основным сервером авторизации. На этот сервер вы отправляете пользователей логиниться/регистрироваться, а в дальнейшем на этом сервере проверяете и обновляете токены авторизации. На этот же сервер уходит запрос для выхода из аккаунта.
Так же, вся работа по определению доступа пользователей к ресурсам производится на этом же сервере через rbac. Каждое разрешение пользователя привязано к определённому приложению из заданного реестра. Кстати, сам учёт приложений в вашей сети ведётся здесь же.
2. https://github.com/ddruganov/yii2-api-auth-proxy
Этот пакет проксирует все вызовы авторизации и проверки прав на основной сервер авторизации. Здесь дублируются все экшены из первого пакета, так что при желании можно заменить один пакет другим за минимальное время не теряя в функционале.
Планируется этот пакет перенести на c#, так это будет делом простым, а пощупать разработку апи на шарпе хочется уже слишком давно.
Так как я только закончил работу над пакетами, то многие моменты там оставляют желать лучшего, из самых ярких: readme, тесты и эндпоинты создания ролей/разрешений/приложений. В ближайшую неделю постараюсь с этим разобраться, пока главное, что это всё работает)