记住我功能如何运作?

How remember me feature works?

“记住我”功能的定义是

When you check the "Remember Me" checkbox at the Portal Login page, your login will be remembered for some days, even after you close your browser. The next time you open the same browser within that time period, you will be automatically logged in.

我不明白它在内部是如何工作的。

假设我点击了 app1 并使用我的凭据登录。网络服务器创建用户对象并将其存储在会话中。现在每当我打 app1 来自同一浏览器实例的选项卡(相同或不同),cookie 将来回发送。有道理。

但是一旦我关闭浏览器并打开新的 window,然后点击 app1。将发送一组新的 cookie(不是以前的)并且网络服务器将创建 新会话并要求凭据。

所以我真的不知道关闭浏览器并打开新 window 后记住我是如何工作的?

记住我功能的工作原理通常是生成一个唯一的 cookie,将其与数据库中的用户相关联,并在响应中添加一个持久性 cookie(即由浏览器保存在磁盘上的 cookie)用户已登录。

当用户再次打开浏览器返回应用程序时,浏览器发送这个cookie,服务器在数据库中查找是否有用户有这个cookie。如果找到用户,他将自动进行身份验证并为此 cookie 启动新会话。