我使用 ReactJS 作为我的前端,带有一个 python 烧瓶 API 后端。我的应用程序中存在一个漏洞——当我的用户关闭浏览器时,他们没有注销(除非 Cognito 刷新令牌过期)。
但是,我读过刷新令牌不应在短时间内过期,并且在 Cognito 上,它至少有 60 分钟。
我也尝试过并且不喜欢 onUnload 窗口,因为 (A) 它仅适用于您为应用程序打开的第一个窗口/选项卡,并且 (B) 重新加载也会触发 onUnload。
我目前正在考虑选择在我的后端,即标记我最后一次收到用户的消息,如果我没有听到 API 调用数据,则在 15 分钟后将其注销。但是,这似乎带来了自己的问题(即,并非每个用户都会刷新页面并在 15 分钟的窗口中查找数据,但我可以通过 onActive(我有一个空闲计时器)在用户进行操作时解决这个问题,我 ping 我的 api 告诉它重置我的计时器)。另一个主要问题是我不知道如何在无法访问他们的用户名和密码的情况下远程注销某人在 cognito 中的会话,这感觉像是一个安全问题。
任何和所有的帮助将不胜感激