Всем привет,
Мы разрабатываем интерфейс для саморазмещенного сервера Discourse. На момент написания этого сообщения сервер работает на последней версии. Наш код выполняется на другом домене.
Мы всё настроили: получаем подписанный вызов SSO от Discourse и отвечаем тем, что считаем правильным подписанным ответом, согласно этой инструкции.
Судя по логам Discourse, наш ответ корректно подписан, а возвращаемые нами поля разбираются правильно. Nonce также совпадает. Несмотря на это, транзакция всегда завершается ошибкой 419: «Nonce неверен, был сгенерирован в другой сессии браузера или истёк».
Nonce действительно корректен; он не мог истечь, так как мы отвечаем немедленно; а насчёт другой сессии браузера — ведь ответ действительно приходит от браузера пользователя, так что…?
Мы добавили «*» в список разрешённых доменов для перенаправления, пытались добавить наш сервер приложения в список CORS (и установили соответствующую переменную окружения). Никаких изменений.
Наверное, мы что-то делаем не так… Буду признателен за любую помощь, чтобы выбраться из этого тупика ![]()