Я обрабатываю аутентификацию SSO в своем PHP-бэкенде. Сначала отправляю запрос curl на URL SSO (Communauté et formation pour entrepreneurs), чтобы получить полезную нагрузку SSO и сигнатуру (SIG), а затем создаю свою собственную полезную нагрузку для формирования правильного URL перенаправления.
Да, теперь nonce привязан к сессии пользователя, для которого он был сгенерирован. Похоже, ваша проблема связана с этим:
Вместо отправки curl-запроса ожидается, что пользователь, который должен быть аутентифицирован, перейдет на /session/sso — либо нажав кнопку «Войти» на сайте, либо будучи перенаправленным на /session/sso из вашего приложения. После этого Discourse перенаправит его обратно в ваше приложение. nonce, содержащийся в этой полезной нагрузке, будет действителен.
Мне пришлось сделать именно это, чтобы исправить проблему, но из-за этого ломается мой асинхронный процесс входа. Мне очень нравилось делать это именно так.
Я также пробовал реализовать это через Axios. Я ожидал, что это сработает, поскольку запрос исходит от клиента. Похоже, это тоже не работает.
Если у вас есть идеи, как можно реализовать асинхронный процесс входа, буду рад любым советам! В любом случае, спасибо за ответ, очень ценю.