Регистрация приложения AAD не принимает параметр строки запроса - PullRequest
0 голосов
/ 21 мая 2019

Я зарегистрировал приложение в Azure AAD с URL-адресами ответа.Включите id_token и токен авторизации.Если я даю точный URL в качестве параметра, он работает нормально.но если я добавляю строку запроса в качестве параметра в URL-адрес ответа, он не работает и выдает ошибку

AADSTS50011: URL-адрес ответа, указанный в запросе, не соответствует URL-адресам ответа, настроенным для приложения: ''.

Ниже приведен пример моего формата URL, созданного файлом ADAL.js.

https://login.microsoftonline.com/.onmicrosoft.com/oauth2/authorize

? Response_type = id_token & client_id =

& redirect_uri = ? P1 = 123 & p2 = 456

& state = 62439108-d296-4a0d-91cc-4f6580656e83

& client-request-id = 1a5ad90a-26fc-4e60-bbcc-8d58bbbcc1f7

& x-client-SKU = Js & x-client-Ver = 1.0.13

& nonce = a4a6215c-0706-4fbc-91a9-36e4cd3a262e

Если я удалю эту ? P1 = 123 & p2 = 456 строку запроса из redirect_url, она будет работать нормально.Другой обходной путь, который я вижу, состоит в том, чтобы перейти к регистрации устаревшего приложения и добавить «» в конце URL-адреса, с которым оно работает.Но регистрация нового приложения не допускает "" в response_url во время регистрации.

Кто-нибудь еще также сталкивался с той же проблемой и исправил ее без добавления "*" в регистрации response_url?пожалуйста, дайте мне знать.

1 Ответ

2 голосов
/ 21 мая 2019

Эта проблема связана с тем, что ADAL.js (и MSAL.js) по умолчанию устанавливают URI перенаправления для текущего URL.Вы можете обойти это с помощью такого подхода:

  1. Установить URI перенаправления как window.location.origin + "/aad-callback" (или что-то еще)
  2. Когда требуется вход в систему, сохраните текущий URL-адрес в sessionStorage (или локальномхранилище или файл cookie)
  3. Триггер перенаправления входа в систему
  4. Когда ваше приложение получает обратный вызов на /aad-callback, обработайте токены из фрагмента URL
  5. Загрузите локальный URL перенаправления изsessionStorage
  6. Перенаправить туда пользователя

Я написал статью, связанную с этим, но для MSAL.js: https://joonasw.net/view/avoiding-wildcard-reply-urls-with-msal-js. Концепции одинаковы для ADAL.js.

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