Generazione di un'email di accesso tramite API

Sto cercando di attivare l’invio di un’email di accesso senza password a un utente dall’API (che riceverebbero se cliccassero autonomamente su ‘accedi via email’), e non sembra essere possibile. Ho utilizzato la tecnica di ‘reverse engineering dell’API’ per cercare di accedervi, ma l’autenticazione con una chiave API globale restituisce semplicemente la homepage e non attiva nulla (e senza la chiave API sembra richiedere l’impostazione dei cookie di sessione, ecc.).

Quello che sto cercando di ottenere è un processo di iscrizione con il minor numero di passaggi possibile; poiché gli utenti si iscrivono tramite un altro sistema, creo gli utenti in Discourse e voglio che ricevano un’email con il link di accesso temporaneo per entrare direttamente. Tutto questo serve a ridurre l’attrito in un processo già abbastanza noioso!

C’è un trucco per far funzionare questo tramite l’API?

In questo caso la soluzione corretta sarebbe una configurazione di accesso invisibile utilizzando DiscourseConnect.

Hai provato:

curl -X POST https://meta.discourse.org/u/email-login \
-H "Api-Key: longapikeyhere" \
-H "Api-Username: system" \
--data-raw 'login=email%40gmail.com'

?

1 Mi Piace

Molte grazie per la risposta Falco. Usando specificamente curl esattamente come suggerisci, ottengo una risposta “You are being redirected” che mi rimanda alla home page. Nessuna email di login viene attivata. Stavo ottenendo un risultato simile con lo strumento che stavo usando, che seguiva il reindirizzamento alla home page.

Non voglio usare DiscourseConnect poiché l’unico login richiesto dopo la registrazione è per Discourse.

Voglio anche aggiungere che, come utente di lunga data (e ammiratore) dei forum di Discourse, questa è la mia prima incursione dall’altra parte, e l’API / i webhook sono semplicemente fantastici; molto facili da usare e molto potenti.

2 Mi Piace

Quel endpoint al momento non è disponibile per le chiamate API. Quando si passano le chiavi API per esso, si finisce nel reindirizzamento qui:

E non è possibile chiamarlo senza chiavi API perché questo percorso è soggetto alla protezione CSRF di :verify_authenticity_token.

2 Mi Piace

Grazie, è chiaro e ne vedo la logica. Apprezzo molto le risposte.

1 Mi Piace