0

我有一个应用程序,它使用 MSAL 和 Azure 用户流在我的 Angular/Ionic 应用程序中提供登录、注册和配置文件编辑页面和功能,但由于某种原因,被编辑的配置文件会将未更改的数据返回到我的应用程序。如果我回到 Profile Edit 用户流程,我会看到正确的更改配置文件数据,但是当我返回应用程序时,它仍然显示旧数据。刷新页面也不起作用。

奇怪的行为是,只要我注销并登录,此配置文件数据更改就会显示在我的 Angular 应用程序中。

我尝试acquireTokenSilent()ssoSilent()传递旧配置文件信息的参数以希望获得新的东西,但我仍然会从 AuthenticationResults 收到旧的配置文件信息。

我尝试将一个添加iframeHashTimeout到 MSAL 配置,但没有奏效。

system: {
            iframeHashTimeout: 10000,
        },

任何人都可以就如何解决这个问题提供煽动或新的想法,感觉就像我只是在黑暗中刺伤。

4

1 回答 1

1

我相信您正在寻找 ACQUIRE_TOKEN_SUCCESS。在您的角度代码中,您在响应中缓存 ID,这就是为什么即使在刷新时您的旧数据也是可见的。

MSAL 自己处理缓存,因此您无需在应用程序中缓存令牌。更新下一次获取令牌请求的配置文件信息后,您将在结果中找到 ID 令牌。

是的,您不需要刷新缓存 Msal 会自动为您执行此操作。

于 2021-11-24T21:04:31.277 回答