Li um post no Discourse, achando que havia encontrado: SITENAME.com/admin/users/list/all.json?email=some@email.com, que é o que preciso, ou seja, verificar se nosso site SSO tem um membro no Discourse, por meio de uma consulta à API do Discourse (da nossa API). Mas como fazer isso, já que o link acima não funciona? E se eu pudesse simplesmente obter uma lista de todos os usuários, eu implementaria o filtro/resultados com base no endereço de e-mail.
Acho que isso é muito protegido ou inacessível, ou existe alguma maneira?
@RGJ você está certo! Realmente funciona!!! Algo nas minhas requisições de teste do Postman está quebrado.
No entanto, com uma requisição SuperAgent como:
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')
Consegui obter os e-mails.
Me desculpe, mas seria bom ter uma requisição à API que simplesmente retorne verdadeiro/falso se um e-mail existe. Por enquanto, estou buscando todos os usuários (uma resposta um pouco pesada, já que retorna todas as informações do usuário), quando tudo o que quero é verificar se o e-mail existe. Na verdade, só quero um verdadeiro/falso do Discourse para saber se o usuário fez login lá antes de vir ao nosso site.