Есть ли способ создать API-ключ для каждого пользователя, созданного как администратор? Существует User API keys specification, требующая одобрения пользователем. Есть ли возможность создавать API-ключи для каждого пользователя программно, используя административный API-ключ?
Мы используем общую систему аутентификации с другим сайтом (чтобы пользователям не нужно было создавать отдельный аккаунт для использования Discourse). Теперь в другом веб-приложении мы хотели бы получать некоторые (непубличные) данные о пользователях и иногда публиковать сообщения от их имени.
Или, если приложение извлекает данные из Discourse в браузере, пользователь уже будет авторизован. А если приложение извлекает данные автоматически на бэкенде, вы можете просто использовать глобальный ключ.
Итак, вам нужно будет публиковать сообщения из браузера (это то, что означает «фронтенд»?), чтобы пользователи были авторизованы, так что вам, думаю, нужно лишь разобраться с CORS.
Да, из браузера. Извините, если я не был достаточно ясен. Всё это происходит из другого веб-приложения: пользователь не авторизован, и встраивание Discourse через iframe отсутствует. Запрос исходит из браузера и передаёт API-ключ как параметр запроса.
Мое понимание API-ключей таково: как только у нас есть API-ключ пользователя, мы можем действовать от его имени из любого места, даже из консоли или терминала (через curl или аналогичные средства). Проблемы с CORS больше не возникают.