Я пытаюсь добавить поставщика для нового протокола Matrix Auth на основе OIDC/OAuth2.0, который описан в https://areweoidcyet.com/
Основная проблема здесь. заключается в том, что, поскольку Matrix является самостоятельным и интегрированным, у него нет центрального поставщика пользователей, а он скорее бесконечен. Также невозможно иметь сервер, определенный в конфигурации, поскольку могут быть пользователи с разных серверов, использующие одну службу. Я хочу иметь поле ввода домашнего сервера, когда кто-то пытается использовать этот логин, чтобы затем запрашивать нужные данные и вводить правильные URL-адреса в функции поставщика. Пример того, как это работает, приведен в https://areweoidcyet.com/client-implementation-guide/
По сути, пользователь вводит свой HS, клиент (здесь приложение laravel), а затем извлекает хорошо известные и данные auth_issuer, чтобы определить правильный путь.
Это мне ясно. Однако мне неясно, как я могу получить URL-адрес домашнего сервера из пользовательского интерфейса к моему провайдеру простым способом. Возможно ли это вообще? Для пользовательского интерфейса я использую Intertia, а не Blade. Но при необходимости я, скорее всего, смогу перенести знания с блейда на свою установку.
Не стесняйтесь задавать дополнительные вопросы по этому поводу, чтобы я мог получить хороший ответ.
До сих пор я рассматривал различные другие ответы и способы создания провайдеров, но все они, похоже, ожидают статический URL-адрес провайдера аутентификации. Это имеет смысл при обычной настройке OAuth2 с центральной аутентификацией. Однако в моем случае это не обязательно.
Я также видел предложения использовать значение конфигурации, но это дерзко. Другие предлагали модель базы данных, но я боюсь, что это не очень безопасно, позволяя неаутентифицированным пользователям писать в базу данных.
Подробнее здесь: https://stackoverflow.com/questions/790 ... r-provider