Бесконечный цикл, когда неавторизованный пользователь пытается получить доступ к веб-странице (авторизация через 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()