Olá,
Estamos implementando um servidor Discourse auto-hospedado, usando o frontend internamente como um CMS e servindo vários recursos de usuário via API. Somos uma empresa web3, então vamos criar um recurso de autenticação de carteira de criptomoedas que oferece funcionalidade semelhante ao Sign-on with Ethereum.
Nosso plano atual é usar um servidor Keycloak Oath para validar a pubkey de um usuário (ID exclusivo) e mapeá-la para um domínio de e-mail não roteável para o ID do Discourse. Sei que podemos criar usuários via API e não pretendemos deixar que os usuários façam login diretamente no aplicativo, mas não tenho certeza se isso é algo que podemos lidar usando DiscourseConnect ou outros plugins.
Quanto às interações do usuário, planejamos definir e recuperar uma chave de API em nome do usuário e armazená-la na sessão do navegador dele, e passar a chave de API para o frontend REST para postar mensagens. Uma possível via que temos é interagir diretamente com o banco de dados de backend por meio de algum middleware, mas espero que haja uma maneira mais idiomática de conseguir isso.
Obrigado por qualquer feedback!