您是否知道是否有一种方法可以检查令牌在Msal中是否已过期(以便知道是否应该获取AcquireTokenSilent) 谢谢
答案 0 :(得分:1)
您不需要自己检查。在MSAL中,您将调用acquireTokenSilent
方法向Azure AD发出无提示请求(不提示用户)以获取访问令牌。调用后,MSAL将在过期后自动刷新您的访问令牌。
如果由于某些原因(例如令牌过期或密码更改)而导致无提示令牌获取失败,则您将需要调用一种交互式方法来获取令牌,例如acquireTokenPopup或acquireTokenRedirect。
var graphScopes = ["user.read", "mail.send"];
userAgentApplication.loginPopup(graphScopes).then(function (idToken) {
//Login Success
userAgentApplication.acquireTokenSilent(graphScopes).then(function (accessToken) {
//AcquireTokenSilent Success
}, function (error) {
//AcquireTokenSilent Failure, send an interactive request.
userAgentApplication.acquireTokenPopup(graphScopes).then(function (accessToken) {
updateUI();
}, function (error) {
console.log(error);
});
})
}, function (error) {
//login failure
console.log(error);
});
您可以参考此article以获得更多详细信息。