Ho letto un post su Discourse, pensando di aver trovato SITENAME.com/admin/users/list/all.json?email=some@email.com, che è esattamente ciò che mi serve: verificare se il nostro sito SSO ha un membro su Discourse, tramite una query all’API di Discourse (dal nostro API). Ma come fare, dato che il link sopra non funziona? E se potessi semplicemente ottenere un elenco di tutti gli utenti, implementerei un filtro/risultato basato sull’indirizzo email.
Penso che questo sia molto protetto o non accessibile. Esiste un modo per farlo?
@RGJ hai ragione! Funziona davvero!!! C’è qualcosa che non va nei miei test di richiesta con Postman.
Tuttavia, con una richiesta SuperAgent come questa:
let res = await superagent.get(`${this.baseUrl}/admin/users/list/active`)
.query({show_emails: true})
.set('Api-Key', this.apiKey)
.set('Api-Username', this.defaultDiscourseUser)
.set('Content-Type', 'application/json')
.set('Accept', 'application/json')
sono riuscito a ottenere le email.
Mi scuso, ma sarebbe utile avere una richiesta API che restituisca semplicemente true/false se un’email esiste. Al momento sto recuperando tutti gli utenti (una risposta piuttosto pesante dato che restituisce tutte le informazioni utente), mentre quello che voglio è solo verificare se l’email esiste. In realtà, mi servirebbe solo un true/false da Discourse per sapere se l’utente ha effettuato il login lì prima di venire sul nostro sito.