Сообщество Hello Stack,
Я собираюсь интегрировать некоторый сервер аутентификации, который будет делегировать активность входа в угловое приложение. Основной поток будет выглядеть следующим образом:
authService.login()
.then((res) => {
/* Check login operation result, parse token */
})
Но учтите, что внутри функции входа в систему произойдет некоторое перенаправление (на внешний сервер входа в систему):
login() {
window.location.replace('URL-to-auth-server')
}
Мой вопрос: если перенаправление произошло, то функция then
после вызова login
никогда не будет вызываться, так как перенаправление будет перезагружать содержимое страницы, javascritps будет запущен еще раз, даже возвращаясь на главную страницу?
Точнее говоря, интеграция касается KeyCloak и Angular 5. Только доступные сетевые ресурсы, связанные с сопряжением этих двух, используют подход «все или ничего»: перенаправление keycloak запускается перед процедурой начальной загрузки Angular. Если это не удается, приложение не будет загружаться. Я хотел бы отображать определенные части приложения без входа в систему, но ограничить некоторые вызовы API только для аутентифицированных пользователей.