хэштеги (#) в параметрах, закодированных в URL, декодированных при перенаправлении

У меня есть две серверные системы ... один хостинг приложения, а другой хостинг аутентификации / авторизации. Когда приложение обнаруживает, что пользователь неПока пользователь не вошел в систему, он перенаправляет на сервер авторизации и передает в качестве параметра URL-адрес, первоначально запрошенный пользователем, чтобы после аутентификации пользователь был перенаправлен обратно на сервер приложений на точный первоначально запрошенный URL-адрес.

Однако, если этот исходный URL-адрес содержит #, вся подпрограмма скрывается. Похоже, что браузеры декодируют закодированный параметр url и, как следствие, сбрасывают что-либо после # на пол. Я'мы пробовали это на Chrome, Safari и Firefox.

Пример:

Оригинальный URL:

https://xxx.com/#/main/by-users?param1=53¶m2=13¶m3=39

URL перенаправления:

https://yyy.com/signin/?returnURL=https%3A%2F%2Fxxx.com%3A80%2F%23%2Fmain%2Fby-users%3Fparam1%3D53%26param2%3D13%26param3%3D39

Браузер показывает:

https://yyy.com/signin/?returnURL=https%3A%2F%2Fxxx.com%2F#/main/by-users?param1=53¶m2=13¶m3=39

Как видите, все, включая и после #, декодируется. Таким образом, сервер никогда не получает полныйReturnUrl» значение параметра. Это в основном просто получает

https://xxx.com/

Это должно быть частью некоторой спецификации где-то, хотя кажется безумным, что закодированный # должен быть декодирован и обрабатываться так, как если бы он никогда не кодировался в первую очередь. Но как обойти это?

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос