我一直在阅读有关1小时后刷新认知会话的不同方法的信息,但是我还没有从aws团队或其他任何人那里得到定论的答案。会话到期后如何重新获得新令牌而又不重新进行身份验证,也就是说,用户必须再次登录(输入密码/电子邮件凭据)。
在refresh()
类中有一个方法CognitoCachingCredentialsProvider
,我相信可以刷新会话。但是,在此之后,如何获得新令牌(idToken
/ accessToken
/ refreshToken
)?在我的情况下,refreshToken
设置为最长有效时间,大约为10年。
到目前为止,获取新令牌的唯一方法是在用户登录时调用用户身份验证,该用户名为cognitoUser.getSessionInBackground(authenticationHandler)
。此接口提供从CognitioUserSession
检索的令牌。对于我的应用程序来说,似乎特别适得其反,特别是提示用户在1小时后每次使用其密码登录。
我想补充一件事,idToken
和accessToken
过期后是否甚至可以获得新令牌?看看aws cognito原始代码,尽管文档说了什么,但我还没有看到可以在用户登录之外提供该界面的界面。