DiscourseConnect всегда возвращает «Nonce is incorrect, ...»

Всем привет,

Мы разрабатываем интерфейс для саморазмещенного сервера Discourse. На момент написания этого сообщения сервер работает на последней версии. Наш код выполняется на другом домене.

Мы всё настроили: получаем подписанный вызов SSO от Discourse и отвечаем тем, что считаем правильным подписанным ответом, согласно этой инструкции.

Судя по логам Discourse, наш ответ корректно подписан, а возвращаемые нами поля разбираются правильно. Nonce также совпадает. Несмотря на это, транзакция всегда завершается ошибкой 419: «Nonce неверен, был сгенерирован в другой сессии браузера или истёк».

Nonce действительно корректен; он не мог истечь, так как мы отвечаем немедленно; а насчёт другой сессии браузера — ведь ответ действительно приходит от браузера пользователя, так что…?

Мы добавили «*» в список разрешённых доменов для перенаправления, пытались добавить наш сервер приложения в список CORS (и установили соответствующую переменную окружения). Никаких изменений.

Наверное, мы что-то делаем не так… Буду признателен за любую помощь, чтобы выбраться из этого тупика :slight_smile:

1 лайк