抛出“ msal:acquireTokenFailure”该怎么办?

时间:2020-07-21 14:31:01

标签: msal msal.js

我知道这应该很简单,但是会有所帮助。我们都是使用工业强度打字稿包的新手。

我们正在构建一个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文档。我花了几个小时在相同的链接上转圈...

0 个答案:

没有答案