MSAL. js - Неявная проверка подлинности - Проблема с параметрами URL-адреса ответа - PullRequest
0 голосов
/ 04 августа 2020

Я использую MSAL. js для одностраничного приложения на основе javascript. Мы настроили Azure Ad для неявной аутентификации. URL-адрес перенаправления также был настроен на страницу.

Однако у нас есть требование, при котором мы получаем ежедневный отчет по электронной почте. В этом письме есть ссылки на страницу приложения, но с параметрами запроса, которые позволяют фильтровать отчет за этот день.

Теперь, если мы получаем доступ к приложению через целевую страницу, мы можем нормально войти в систему. Но с параметрами запроса он дает исключение «URL-адрес ответа, указанный в запросе, не соответствует URL-адресам ответа ..».

Я использую конечную точку V2 в Azure AD, поэтому не могу поставить * в ответном URL. Думаю, это уже существующая проблема. Но есть ли способ решить проблему входа в систему и перенаправления с параметрами?

Спасибо, A sh

1 Ответ

0 голосов
/ 04 августа 2020

Подход, который мы обычно использовали с нашими приложениями, заключается в том, чтобы указать конкретный c URL-адрес MSAL в качестве URL-адреса перенаправления и перенаправить оттуда на «локальный URL-адрес». Поэтому, когда вы отправляете пользователя на аутентификацию, вы сохраняете текущий путь где-то, например, в локальном / сеансовом хранилище. Затем, когда пользователь попадает на эту страницу обратного вызова, вы можете загрузить путь из хранилища и перенаправить пользователя туда. Таким образом, вы можете избежать использования подстановочных знаков и по-прежнему получить пользователя там, где он хотел go.

Вы можете указать MSAL не перенаправлять на текущий URL-адрес и указать URL-адрес перенаправления следующим образом:

const app = new UserAgentApplication({
  auth: {
    // Other settings left out for brevity
    navigateToLoginRequestUrl: false,
    redirectUri: window.location.origin + '/auth-callback'
  }
});
...