【发布时间】: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?
【问题讨论】: