2

我正在使用该msal.js库对我的 AAD 帐户进行身份验证。我有处理实现令牌刷新的逻辑,但我不确定如何最好地手动测试它。

    try {
      const response = await userAgentApplication.acquireTokenSilent(parameters);
      jwtIdToken = response.idToken.rawIdToken;
    } catch (error) {
      if (error instanceof InteractionRequiredAuthError) {
        if (type === LoginType.Redirect) {
          userAgentApplication.acquireTokenRedirect(parameters);
        }

        const response = await userAgentApplication.acquireTokenPopup(parameters);
        jwtIdToken = response.idToken.rawIdToken;
      } else {
        // Error was not related to needing interaction
        throw error;
      }
    }

我能够使用system配置验证令牌是否正确刷新,并将令牌更新偏移量设置为大于到期限制的值。

  system: {
    tokenRenewalOffsetSeconds: 60 * 60
  }

唯一不知道怎么测试的场景是token不能再刷新,InteractionRequiredAuthError报错后用户需要重新登录。我真的希望我不必在 24 小时内保持会话处于活动状态,然后尝试刷新令牌......

4

1 回答 1

2

从应用程序中撤回用户同意 - 转到应用程序门户,找到 JS 应用程序并将其删除。这将删除您对此应用的同意,并使您的刷新令牌无效。也有一个 Powershell 命令。

于 2019-08-14T21:25:36.123 回答