Generazione e recupero delle chiavi API utente

Ciao,

Stiamo implementando un server Discourse self-hosted, utilizzando il frontend internamente come CMS e fornendo varie funzionalità utente tramite API. Siamo un’azienda web3, quindi intendiamo creare una funzionalità di autenticazione tramite crypto-wallet che fornisca funzionalità simili a Sign-on with Ethereum.

Il nostro piano attuale è utilizzare un server Oath Keycloak per convalidare la pubkey di un utente (ID univoco) e mapparla a un dominio email non instradabile per l’ID Discourse. So che possiamo creare utenti tramite API e non prevediamo che gli utenti accedano mai direttamente all’app, ma non sono sicuro se questo sia qualcosa che possiamo gestire utilizzando DiscourseConnect o altri plugin.

Per quanto riguarda le interazioni utente, avevamo pianificato di impostare e recuperare una chiave API per conto dell’utente e memorizzarla nella sessione del browser, passando la chiave API al frontend REST per inviare messaggi. Una possibile via che abbiamo è interagire direttamente con il database backend tramite un middleware, ma spero che ci possa essere un modo più idiomatico per raggiungere questo obiettivo.

Grazie per qualsiasi feedback!