Бесконечный цикл, когда неавторизованный пользователь пытается получить доступ к веб-странице (авторизация через adal-angular)

У меня есть веб-панель, которая аутентифицирует пользователя с помощью adal-angular. Авторизованные пользователи могут получить доступ к странице без каких-либо проблем, но когда пользователь не авторизован, они попадают в бесконечный цикл со страницей входа.

Это был мой исходный код:


AuthContext.handleWindowCallback();

if ((window === window.parent) && window === window.top && !AuthContext.isCallback(window.location.hash)) {

  if (!AuthContext.getCachedToken(adalConfig.clientId) || !AuthContext.getCachedUser()) {
    AuthContext.login();
    }
  } 
  else 
  {
    AuthContext.acquireToken(adalConfig.endpoints.xyz, (message, token, msg) =>{
      if (token) {
        ReactDOM.render(
          //rendering code
        );
      }
    });
  }

После перемещения AuthContext.handleWindowCallback(); внутри первого условия if пользователь больше не попадает в бесконечный цикл. Но страница ошибки отображается не так, как ожидалось. Они просто получают пустую страницу, но в URL-адресе есть сообщение о том, что пользователь не аутентифицирован.

Как я могу получить рабочую страницу с ошибкой, если пользователь не аутентифицирован? Есть ли способ получить доступ к сообщению об ошибке программно?

1 ответ

Попробуйте позвонить:

AuthContext.getLoginError()

После

AuthContext.handleWindowCallback()
Другие вопросы по тегам