Здравствуйте. Мы используем Discourse для нашего форума на Exercism. Спасибо за вашу работу над ним.
Часть нашего процесса заключается в том, что задачи на GitHub автоматически закрываются с просьбой создать пост на форуме, при этом текст поста включается в URL. Это отлично работало до одного поста сегодня.
Если вы перейдете по этой задаче на GitHub и нажмете на ссылку «this link», вы увидите цикл OAuth, который завершается сообщением «Ой. Программное обеспечение, управляющее этим форумом, столкнулось с неожиданной проблемой. Приносим извинения за неудобства».
Если вы уже вошли в форум, всё работает (по крайней мере, у меня всё работает, хотя от наших мейнтейнеров я получил противоречивые отзывы).
Я подозреваю, что проблема связана с кодированием на этапе настройки OAuth или перенаправления.
В теле есть текст, который должен быть URL-закодирован, например, слеши и символы решётки.
Хотя ссылка работает напрямую, потому что браузеры умны и обрабатывают такие случаи, наша логика перенаправления задаёт целевой URL через переданные параметры и ориентируется на те параметры, которые были переданы изначально. Без правильного кодирования, я подозреваю, именно это ломает указанное перенаправление.
При использовании ссылки с закодированным телом у меня эта проблема не возникает. Правильно закодированная ссылка выглядит так: