Я прочитал пост на Discourse и подумал, что нашёл то, что нужно: SITENAME.com/admin/users/list/all.json?email=some@email.com. Это позволяет проверить, есть ли пользователь Discourse на нашем SSO-сайте, через запрос к API Discourse (с нашего API). Но как это сделать, если ссылка выше не работает? И если бы я мог просто получить список всех пользователей, я бы реализовал фильтрацию/результат на основе адреса электронной почты.
Думаю, это сильно защищено или недоступно, или есть какой-то способ?
@RGJ вы правы! Это действительно работает!!! Что-то не так с моими тестами запросов в Postman.
Однако с помощью SuperAgent, например:
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')
мне удалось получить адреса электронной почты.
Приношу извинения, но было бы здорово иметь API-запрос, который просто возвращает true/false, если адрес электронной почты существует. Сейчас я получаю всех пользователей (ответ довольно громоздкий, так как содержит всю информацию о пользователях), хотя мне нужно только проверить, существует ли email. На самом деле мне нужно просто получить от Discourse true/false, чтобы узнать, авторизовался ли пользователь на их платформе до того, как перешёл на наш сайт.