我正在尝试使用Angular 6 / MSAL实现隐式流。客户端正在尝试从Azure AD获取ID令牌。我们的AD客户端配置为仅为某些用户和组提供令牌。因此,当未经授权的用户(仍是组织内部的用户)尝试登录时,Azure Ad会将他们直接重新路由到登录页面,这不是很直观。我想将他们重定向到自定义页面,以指示用户没有应用程序所需的任何角色。
但是MSAL不能选择“ failedRedirectUri”之类的东西。有人可以告诉我MSAL甚至可以做到这一点吗,如果可以,我该如何配置它?
我尝试从localStorage设置“ redirectUri”,并尝试在重定向发生之前对其进行修改。但这无济于事。
MsalModule.forRoot({
clientID: '*****-************************',
authority: "https://login.microsoftonline.com/*************************/",
validateAuthority: true,
redirectUri: window.location.origin,
cacheLocation: 'localStorage',
postLogoutRedirectUri: window.location.origin + "/loggedout",
navigateToLoginRequestUrl: false,
popUp: false,
unprotectedResources: ["https://www.microsoft.com/en-us/"],
protectedResourceMap: protectedResourceMap,
logger: loggerCallback,
correlationId: "1000",
level: LogLevel.Info,
piiLoggingEnabled: true
})
在隐式流登录失败时,不应将用户重定向到“ redirectUrl”页面。相反,应该将用户带到显示错误说明的错误页面。