繁体   English   中英

如何使用@msal 在十分钟后触发会话过期弹出窗口 - react 和 azure ad

[英]How to trigger an session expired popup after ten minutes using @msal - react and azure ad

  1. 身份验证提供程序:Azure Active Directory
  2. 客户端库:@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 端或客户端代码端配置哪些步骤?

提前致谢。

您可以指定 Microsoft 标识平台颁发的访问令牌、ID 或 SAML 令牌的生命周期。 您可以为组织中的特定服务原则设置令牌的生命周期。 但是,微软目前不支持身份管理服务配置令牌生存原则

注意:配置令牌生存期策略仅适用于访问 SharePoint Online 和 OneDrive for business 资源的移动和桌面客户端,但 id 不适用于 Web 浏览器会话。

对于 2021 的新更新,您无法配置刷新令牌和会话令牌生命周期。 现有令牌过期后的新令牌问题现在设置为默认配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM