Я пытаюсь использовать API-адреса Node URL и URLSearchParams, чтобы упростить создание URL-адресов.Я использую его для создания URL-адреса следующим образом:
https://<ye olde oauth host>/oauth/authorize?response_type=code&client_id=<my client id>&redirect_uri=https://localhost:4200&scopes=scope1%20scope2
Однако мой код ниже создает URL-адрес следующим образом:
https://<ye olde oauth host>/oauth/authorize?response_type=code&client_id=<my client id>&redirect_uri=https%3A%2F%2Flocalhost%3A4200&scopes=scope1%20scope2
Насколько я понимаю, API URLSearchParams будетпроцентно-кодированные строки, но что если я не хочу, чтобы они кодировались, например, URL-адреса?Вот мой код:
const loginURL = new URL('https://<ye olde oauth host>');
url.pathname = 'oauth/authorize';
url.search = new URLSearchParams({
response_type: 'code',
client_id: '<my client id>'
}).toString();
loginURL.searchParams.append('redirect_uri', redirectURI);
loginURL.searchParams.append('scopes', scopes);
Причина, по которой я не хочу, чтобы код redirect_uri
кодировался в процентах, заключается в том, что OAuth API на принимающей стороне не знает, как его анализировать.Есть ли способ использовать URLSearchParams, чтобы остановить его от кодирования?