我知道这应该很简单,但是会有所帮助。我们都是使用工业强度打字稿包的新手。
我们正在构建一个Angular应用程序,并使用@ azure / msal-angular库,该库在大多数情况下都可以运行;遵循教程和示例,通常都有意义。
除了广播“ msal:acquireTokenFailure”事件时要实现的内容之外?
在AppComponent的ngOnInit()方法中,我们有这行
// Subscriptions and redirects are for jwtTokens
this.subscription = this.broadcastService.subscribe("msal:acquireTokenFailure", () => {
// ToDo: What should be implemented here?
});
在GitHub页面上的一些项目贡献者帖子中,提出了一些类似的建议
// Subscriptions and redirects are for jwtTokens
this.subscription = this.broadcastService.subscribe("msal:acquireTokenFailure", () => {
this.subscription.unsubscribe();
this.authService.loginRedirect();
});
据我所知,它将重定向到AzuerAD登录屏幕,但将丢失我们试图为其获取令牌的基础呼叫详细信息。
看起来(用伪代码)更有用的是类似
// Subscriptions and redirects are for jwtTokens
this.subscription = this.broadcastService.subscribe("msal:acquireTokenFailure", () => {
this.subscription.unsubscribe();
if (isIE) {
this.authService.acquireTokenRedirect(userRequest);
} else {
this.authService.acquireTokenPopup(userRequest);
}
});
问题是,这是一种有效的方法吗?以及我们将从哪里恢复userRequest参数?
请,请不要将我重定向到Microsoft文档。我花了几个小时在相同的链接上转圈...