AWS Cognito将当前用户会话存储在localStorage
中。用户登录后,localStorage
中存在用户会话时,localStorage
在Electron中不是持久性的-因此,当应用程序重新启动时,用户会话消失了,用户必须再次登录。通常,用户会话将从localStorage
接收,因为它在浏览器中是持久的。
我知道人们可以使用electron-json-storage将数据持久地存储在Electron以及通常在节点应用程序中,但是由于AWS cognito使用localStorage
,因此我只能使用会改变{{ 1}}成为持久性,即重定向到文件存储。
我尝试了node-localstorage可以正常工作,但是即使设置了localStorage
,cognito仍会使用浏览器中的localStorage。
我知道可以将userPool传递给global.localStorage
对象以用作存储对象,但是当我将node-localstorage传递给它时,它仍然使用原始的{Storage: ...}
。
TLDR;
答案 0 :(得分:2)
Cognito将给您三个令牌idToken
,accessToken
和refreshToken
一个简单的想法是将refreshToken
保存在您认为是持久性的localstorage
中。然后在电子应用上开始使用refreshToken
对Cognito上的用户进行身份验证。