Генерация и получение ключей API пользователя

Привет,

Мы разворачиваем собственный сервер Discourse, используя фронтенд в качестве внутренней CMS и предоставляя различные функции для пользователей через API. Мы работаем в сфере Web3, поэтому планируем реализовать функцию аутентификации с помощью криптокошелька, аналогичную «Вход с помощью Ethereum».

Наш текущий план заключается в использовании сервера OAuth Keycloak для проверки публичного ключа пользователя (уникального ID) и сопоставления его с недостижимым извне доменом электронной почты для идентификатора в Discourse. Я знаю, что мы можем создавать пользователей через API, и не планируем разрешать пользователям прямой вход в приложение, но не уверен, можно ли это реализовать с помощью DiscourseConnect или других плагинов.

Что касается взаимодействия с пользователями, мы планировали устанавливать и получать API-ключ от имени пользователя, хранить его в сессии браузера и передавать этот ключ фронтенду REST для публикации сообщений. Один из возможных вариантов — взаимодействие напрямую с базой данных через промежуточное ПО, но я надеюсь, что существует более идиоматичный способ решения этой задачи.

Буду благодарен за любые комментарии!