Node.js 如何实现用户名的一次登录

Node.js 如何实现用户名的一次登录,node.js,express,Node.js,Express,我将所有会话id存储在一个带有用户名和系统ip的变量中,我仅将此数据用于用户名的一次登录。现在我有两个问题,有时浏览器中的新会话会自动生成,而无需用户操作,或者如果用户删除了与我的服务器相关的cookie。因此,用户正在使用新会话,我需要从我的列表中删除用户名、系统ip和会话id。由于用户没有在您的站点上执行任何明确的操作,您无法知道“丢失cookie”和“有一段时间没有访问该站点”之间的区别。对于这样一个计划,你能做的最好的事情就是让那些已经一周、一个月、一年或任何合适的时间都不活跃的会话过期

我将所有会话id存储在一个带有用户名和系统ip的变量中,我仅将此数据用于用户名的一次登录。现在我有两个问题,有时浏览器中的新会话会自动生成,而无需用户操作,或者如果用户删除了与我的服务器相关的cookie。因此,用户正在使用新会话,我需要从我的列表中删除用户名、系统ip和会话id。

由于用户没有在您的站点上执行任何明确的操作,您无法知道“丢失cookie”和“有一段时间没有访问该站点”之间的区别。对于这样一个计划,你能做的最好的事情就是让那些已经一周、一个月、一年或任何合适的时间都不活跃的会话过期


您应该考虑使用登录用户的用户ID的加密/散列cookie而不是会话,如果您希望允许用户在不占用服务器资源的情况下保持“永远”登录。

谢谢评论,实际上会话Cookie是由Express框架生成的,而不是生成它。但是对于会话超时,我不喜欢,它已经定义了24小时,因为我不能拒绝这个时间,因为我的应用程序用户必须在一个屏幕上输入200多个条目。你决定让浏览器保留cookie多长时间,不是吗?如果只有24小时,您应该能够删除任何长时间未被修改/访问的会话。要使用签名cookie,请参阅