Reactjs AWS放大用户会话不';t在反应器中过期

Reactjs AWS放大用户会话不';t在反应器中过期,reactjs,amazon-web-services,amazon-cognito,aws-amplify,Reactjs,Amazon Web Services,Amazon Cognito,Aws Amplify,我正在使用ReactJS创建一个无服务器网站,AWS Amplify用于身份验证,AWS Cognito用于用户池 如果用户在站点上已经一个小时没有活动(或者如果他们关闭标签一个小时没有返回站点),我会尝试让该站点注销用户。但是,即使我第二天访问该网站,我的用户仍会继续登录 我在Amplify的文档中读到Amplify会在令牌过期时自动刷新令牌,但我找不到禁用它的方法 如果能在这方面得到任何帮助,我将不胜感激。我真的不知道如何解决这个问题 谢谢。根据cognito文档( ) 默认情况下,刷新令牌

我正在使用ReactJS创建一个无服务器网站,AWS Amplify用于身份验证,AWS Cognito用于用户池

如果用户在站点上已经一个小时没有活动(或者如果他们关闭标签一个小时没有返回站点),我会尝试让该站点注销用户。但是,即使我第二天访问该网站,我的用户仍会继续登录

我在Amplify的文档中读到Amplify会在令牌过期时自动刷新令牌,但我找不到禁用它的方法

如果能在这方面得到任何帮助,我将不胜感激。我真的不知道如何解决这个问题

谢谢。

根据cognito文档( )

默认情况下,刷新令牌在应用程序用户登录到用户池后30天过期。为用户池创建应用程序时,可以将应用程序的刷新令牌过期时间(以天为单位)设置为1到3650之间的任何值

如果您没有更改默认值,那么Amplify将能够刷新令牌30天。即使将其更改为最小值1,Amplify也可以刷新24小时


为了跟踪预期的会话过期时间,即使用户关闭浏览器,也需要将该数据存储在数据库中。您可以使用lambda测试该值,然后根据响应使用
Auth.signOut()

看起来刷新令牌现在可以设置为在60分钟后过期。 这可以在Cognito控制台的用户池->常规设置->应用程序客户端->显示详细信息中设置


我认为这一变化是在2020年8月宣布的,根据这篇文章:

如果您编写一个方法,在几个小时后将触发用户注销,该怎么办?您还可以在用户关闭页面时触发此注销方法。用户注销后,是否可以检查本地存储是否已清除?