Я обновил Discourse вчера, и все API-колбэки возвращают ошибку. Я выяснил, что проблема в заголовках аутентификации (1), но при попытке выполнить несколько запросов получаю следующую ошибку:
Доступ к XMLHttpRequest по адресу 'https://mydomain.com/notifications.json?username=admin' с источника 'https://mydomain.com' заблокирован политикой CORS: поле заголовка запроса api-username не разрешено в Access-Control-Allow-Headers в ответе на префлигт-запрос.
Я использую Vue и добавил api-key и api-username в заголовки следующим образом:
Да, я добавил домен, с которого вызывается API, в настройки Discourse, но ошибка, связанная с полем api-username, возникла. Я не знаю, когда мне её нужно устранить.
Вы размещаете свой API-ключ system в клиентском коде?
Это означает, что любой может извлечь его из вашего JavaScript-кода и полностью захватить ваш форум.
Любые Ajax HTTP-запросы к Discourse должны использовать существующую сессию или вообще не требовать сессии.
В моём случае используется SSO с фронтенд-приложением на JavaScript. Возможно ли использовать API без отображения интерфейса авторизации для каждого пользователя? Мне нужен способ использования api-username… Это возможно?