Как сделать так, чтобы «забытый пароль» работал вact-aad-msal с Azure AD B2C? - PullRequest
3 голосов
/ 17 апреля 2019

Я использую response-aad-msal с Azure AD B2C. У меня есть вход и выход из системы. Однако когда я нажимаю «Забыли пароль?», Окно аутентификации исчезает и ничего не происходит.

enter image description here

Кажется, мне нужно указать имя моей политики "забытого пароля", но я не знаю, где его разместить.

Исходя из ответа Тони, этот код добавлен в рендер моего приложения:

if (window.location.href.indexOf("error_description=AADB2C90118") >= 0)
    {
      return <AzureAD
      provider={
        new MsalAuthProviderFactory({
          authority: 'https://login.microsoftonline.com/tfp/x5aaas.onmicrosoft.com/B2C_1_PwdReset', 
          clientID: 'a1568977-3095-4bf6-a6d6-c10c87658488',
          scopes: ['https://x5aaas.onmicrosoft.com/ui/use'],
          type: LoginType.Redirect,
          postLogoutRedirectUri: window.origin,
        })
      }
      unauthenticatedFunction={this.unauthenticatedFunction}
      userInfoCallback={this.userJustLoggedIn}
      authenticatedFunction={this.authenticatedFunction}
    />;
    }

Я вижу, что после нажатия «Забыли пароль?» Условие выполняется, и происходит возврат. Однако окно для сброса пароля не отображается, и меня перенаправляют обратно на URL моего приложения.

Есть предложения?

Ответы [ 2 ]

1 голос
/ 01 июня 2019

Что я сделал, так это создал маршрут в моем App.js:

          <Route
            path="/forgot"
            component={() => {
              window.location.href = forgotPasswordUrl;
              return null;
            }}
          />

Затем в constructor

if (window.location.hash.indexOf('AADB2C90118') >= 0) {
  history.push('/forgot');
}

И это работает.

1 голос
/ 17 апреля 2019

При использовании комбинированной политики регистрации и входа в Azure B2C пользователи должны сами обрабатывать сценарий забытого пароля.Вы можете найти более подробные комментарии здесь .

Поток пользователей при регистрации или входе в систему с локальными учетными записями включает "Забыли пароль?"ссылка на первую страницу опыта.Нажатие на эту ссылку не приводит к автоматическому запуску пользовательского потока для сброса пароля.

Вместо этого код ошибки AADB2C90118 возвращается в ваше приложение.Ваше приложение должно обработать этот код ошибки, запустив определенный поток пользователя, который сбрасывает пароль.Чтобы увидеть пример, взгляните на простой пример ASP.NET , который демонстрирует связывание пользовательских потоков.

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