Переименование имени пользователя при входе через SAML/OpenIDC

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

Мне удалось успешно настроить Discourse на нашем сервере с интеграцией OpenIDC в наш локальный сервер Keycloak. Однако Keycloak передаёт имена пользователей в формате domain1\user, domain2\user и т. д. В результате пользователи отображаются как domain1_user, domain2_user. Я хотел бы преобразовать имена пользователей, возможно, с помощью регулярных выражений, чтобы они имели вид user_domain1, user_domain2.

Насколько я могу судить, такая функциональность не поддерживается ни в коннекторе SAML, ни в коннекторе OpenIDC. Я пытался модифицировать исходный код коннекторов, но, вероятно, преобразование нужно выполнять во многих местах, и мне это не удалось.

Кто-нибудь уже успешно реализовал подобную настройку?

Я также рассматривал возможность конфигурации этого в самом Keycloak, но Keycloak не поддерживает регулярные выражения в маппингах клиентов или при поступлении данных от внешних серверов федерации при входе.

I think the required modifications would be limited to a single function.

Oh, neat! I was focusing on OpenIDC but with SAML it looks simpler.