API per trovare un indirizzo email o cercare?

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?

Quella rotta dovrebbe funzionare ancora (l’ho appena testata).

Per SSO puoi anche usare by-external.
Vedi Discourse API Docs

@RGJ hai ragione! Funziona davvero!!! C’è qualcosa che non va nei miei test di richiesta con Postman. :frowning:

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.

Con

superagent.get(`${this.baseUrl}/admin/users/list/all.json?email=${emailAddress}`)

non stai recuperando tutti gli utenti.

Oh wow, grazie mille! Questo recupererà un solo utente e la sua email? Perfetto per me! Fantastico!!!