Предотвращение процентного кодирования с помощью URLSearchParams - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь использовать 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, чтобы остановить его от кодирования?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...