- 身份验证提供程序:Azure Active Directory
- 客户端库:@azure/msal-react
正如这里所解释的,我的 msal 令牌在一小时后过期 MSAL 令牌在 1 小时后过期,我的要求是我想配置一个 15 分钟(或 10 分钟)的会话时间,之后我想触发一个弹出窗口,说请再次登录?有没有办法使用 msal-react.
目前,在一小时后调用acquireTokenSilent 以获取新令牌,使用哪个客户端不知道发生了这种情况并且客户端认为它具有无限的会话生命周期。
这是实现
export const refreshIdToken = async (msalInstance: IPublicClientApplication) => {
const account = msalInstance.getActiveAccount();
try {
if (account != null) {
const token = await msalInstance.acquireTokenSilent({
scopes: loginRequest.scopes,
account
});
return token.idToken;
}
} catch (error) {
if (error instanceof InteractionRequiredAuthError) {
return msalInstance.acquireTokenRedirect(loginRequest);
} else {
console.error(error);
}
}
};
const token = await refreshIdToken(msalInstance);// This will never expires , as it always refresh after one hour internally
axios.defaults.headers.common["Authorization"] = `Bearer ${token}`;
//api call
我需要从 Azure AD 端或客户端代码端配置哪些步骤?
提前致谢。