Приложение
My Angular 8 (. net core back end api) защищено Azure B2 C с использованием библиотеки MSAL. Пользователь регистрируется, и я использую Graph API для создания этого пользователя в B2 C, и у меня есть настраиваемый атрибут isActive
, который я установил на False
. Администратор приложения входит в приложение и предоставляет доступ, а созданный пользователь может получить доступ к приложению. Я хочу, чтобы пользователь не входил в систему, пока он не будет авторизован и не разрешен доступ администратором.
У меня вопрос, как я могу заблокировать пользователям вход в систему, пока для isActive
не будет установлено значение true? В настоящее время я делаю это, как показано ниже, в своем компоненте приложения
subscribeToBroadCastServiceOnLogin() {
this.broadcastService.subscribe("msal:loginSuccess", (success) => {
if (
success.idToken.claims[
"extension_3datttttxxxxxxxxxxxxxxxxxxxxxxxxx_isActive"
] !== true
) {
window.alert("Your login is awaiting authorization from site Admin");
return this.authService.logout();
}
Проблема с этим подходом заключается в том, что пользователь уже успешно вошел в систему, и я выхожу из системы на основании заявления. Мне интересно, есть ли лучший подход для удовлетворения этого требования?