#angular #typescript #single-sign-on #angular8 #okta
#angular #typescript #единый вход #angular8 #okta
Вопрос:
В моем приложении, когда пользователь нажимает кнопку «Перейти на страницу входа temporaryLoginPage
«, пользователь перенаправляется на страницу входа в Okta. Теперь после успешного входа в систему Okta отправляет обратные заявки, содержащие имя флага: registered
. Я хочу перенаправить пользователя на разные страницы на основе registered
флага. Вопрос в том, что мое приложение меняет область действия и как захватить информацию в полете и показать какой-то загрузчик на temporaryLogin
странице во время проверки флага и при чтении флага, как перенаправить пользователя при следующем условии:
registered = true // route to /home
registered = false // route to /registration
Ответ №1:
Вы можете просто проверить данные, поступающие из службы входа в систему, после успешного завершения и перейти к конкретному маршруту, например-
this.loginservice(credentials).subscribe(userData=>{
userData.registered?
this.router.navigate(['./home']) :
this.router.navigate(['./registration'])
})
Также вы можете добавить один флаг в начале вызова службы и сделать его true и сделать этот loaderFlag false в приведенной выше подписке, чтобы скрыть и показать ваш загрузчик
Ответ №2:
Вероятно, вы могли бы создать свой собственный обработчик для обратного вызова и выполнить в нем некоторую логику. Компонент обратного вызова по умолчанию находится на https://github.com/okta/okta-oidc-js/blob/master/packages/okta-angular/src/okta/components/callback.component.ts.