如何测试刷新和过期的令牌方案?

时间:2019-08-14 11:46:13

标签: typescript msal msal.js

我正在使用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
  }

我不知道如何测试的唯一情况是何时无法刷新令牌,并且在引发InteractionRequiredAuthError错误之后用户需要再次登录。我真的希望我不必将会话保持24小时,然后尝试刷新令牌...

1 个答案:

答案 0 :(得分:2)

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