Come posso ottenere i cookie per un utente o una 'user-api-key' senza richiedere interazione utente o reindirizzamenti del browser?

Sto attualmente sviluppando un’applicazione che utilizza Discourse solo come API. La nuova funzionalità riguarda i messaggi privati (PM), dove stiamo utilizzando private_messages. Il problema qui è che abbiamo bisogno di ricevere aggiornamenti da questi argomenti privati (private_messages) tramite MessageBus, e attualmente il nostro metodo di autenticazione con Username: user.username e Api-Key: admin_api_key non funziona esclusivamente per questo caso di MessageBus e argomenti privati; funziona per tutto il resto.

Quindi abbiamo bisogno di un modo per ottenere e iniettare i cookie nel nostro frontend quando si chiama MessageBus, oppure di creare una ‘user-api-key’ e un utente invece della api-key. Ma abbiamo bisogno di farlo solo tramite API, poiché il nostro backend comunicherà con il backend di Discourse e fornirà tutto. Il frontend sarà responsabile solo di ricevere il cookie o la user-api-key e aggiungerlo alla richiesta MessageBus.

1 Mi Piace

Presumo che questo sia un errore di battitura e ti riferisca ai messaggi privati (PM)? I DM sono correlati a chat.

1 Mi Piace

Oh bello!

Non esiste un endpoint API HTTP per creare oggetti UserApiKey per altri utenti. L’endpoint /user-api-key crea chiavi solo per l’utente connesso

L’utilizzo di MessageBus sarebbe utile, ma non sono sicuro di come aggirare i problemi di autenticazione. Potrebbe essere necessario eseguire il polling e/o fare affidamento sulle webhook quando i messaggi privati vengono aggiornati.

Sì! Gli argomenti con archtype: private_message

1 Mi Piace