【问题标题】:Angular Msal Access Token RetrievalAngular Msal 访问令牌检索
【发布时间】:2020-10-12 17:04:33
【问题描述】:

我一直在尝试从 Angular 中的 MSAL 获取访问令牌,但似乎让自己陷入困境,希望有人能澄清这样做的正确过程。

我目前正在使用以下方法来尝试获取令牌。

 this.msal.acquireTokenSilent({ scopes }).then((response) => {
                console.log(response.accessToken);
            });
        }, (error) => {
            if (error instanceof ClientAuthError) {
                this.msal.loginRedirect({ scopes });
            }
            if (error instanceof InteractionRequiredAuthError) {
                this.msal.acquireTokenRedirect({ scopes });
            }
            if (error instanceof HttpErrorResponse && error.status === 401) {
                this.msal.acquireTokenRedirect({ scopes });
            }
        });

如果您已登录 Azure,则此方法有效,但如果您未登录,则它会陷入 ClientAuthError 并重定向您登录。登录后,您将被重定向到原始页面,需要再次单击相同的登录按钮。

有没有办法在登录时获取访问令牌,而不是必须登录然后调用acquireTokenSilent?

【问题讨论】:

    标签: angular msal


    【解决方案1】:

    在 msal js 中,默认情况下,如果您调用 acquiretokenredirect,它会执行第二次重定向。这将使您在第二次重定向时丢失“令牌”。您可以做的是通过在身份验证配置中将“navigateToLoginRequestUrl”设置为 false 来阻止它进行第二次重定向。那么你应该能够得到令牌并使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      • 2021-12-28
      • 2019-04-11
      相关资源
      最近更新 更多