AWS Cognito:令牌自动存储在本地存储中。如何将它们保存在会话存储中?

AWS Cognito: tokens automatically get stored in local storage. How to save them in session storage instead?

我正在为我的 Web 应用程序使用 AWS Amplify / AWS Cognito。它会自动将令牌放入浏览器的 localStorage 中。这是 SDK 的预期行为。它将令牌添加到本地存储,因此用户可以在会话关闭然后重新启动后使用该应用程序而无需再次登录。

但是,在我奇怪的用户场景中,我必须让我的网络应用程序在用户关闭浏览器并重新打开时必须重新登录。

所以我不需要将令牌保存在 localStorage 中,而是需要将它们保存在网络浏览器的 sessionStorage 中。

如何做好?

这可以通过将 window.sessionStorage 传递到您的身份验证配置中来完成。

Auth.configure({ storage: window.sessionStorage })