В настоящее время я начинаю с Angular и MSAL и не могу понять, как добиться следующего:
- Когда пользователь получает доступ к веб-приложению, должен появиться логин Microsoft (через Azure AD).
- После успешной аутентификации появляется веб-приложение
- Когда пользователь нажимает кнопку "Выйти", он должен выйти из системы
- После выхода он должен вернуться к шагу 1. и снова увидеть вход в Microsoft.
Вот что у меня есть в app.module.ts:
MsalModule.forRoot({
auth: {
clientId: '...', // This is your client ID
authority: '...',
// redirectUri: 'https://localhost:5001',
postLogoutRedirectUri: '**<--THIS MAYBE? BUT WHAT URL DO I PUT HERE TO COME BACK TO THE MICROSOFT LOGIN PAGE??**'
},
cache: {
cacheLocation: 'localStorage',
storeAuthStateInCookie: isIE, // Set to true for Internet Explorer 11
},
}, {
popUp: false,
consentScopes: [
'user.read',
'openid',
'profile',
],
unprotectedResources: [],
protectedResourceMap: [
// ['https://graph.microsoft.com/v1.0/me', ['user.read']]
],
extraQueryParameters: {}
})
],...
А вот и мой app-routing.module.ts:
const routes: Routes = [
{
path: '', canActivate: [MsalGuard], children: [
{path: '', component: HomeComponent},
{path: 'home', component: HomeComponent},
{path: 'tools', component: ToolsComponent}
]
}
];
Проблема с решением, которое у меня есть сейчас: когда я выхожу из системы, он снова переходит в WebApp, а затем перенаправляется на страницу входа в MS. Но я хочу, чтобы он перешел прямо на страницу входа в MS, чтобы пользователь больше не видел ничего из веб-приложения (после выхода из системы).
Что мне действительно нужно предотвратить, так это то, что пользователь может видеть все, что есть в веб-приложении, если он не вошел в систему. Поэтому я не хочу перенаправлять его на компонент (потому что тогда он снова видит контент).