我试图在用户登录后在我的nodejs后端保留会话。客户端是一个应用程序,登录是通过ajax请求完成的。我想知道这是否可能。
答案 0 :(得分:1)
浏览器中的登录会话通常通过将cookie(通常是加密的)发送回包含服务器端会话的某种键/索引的客户端来工作。然后,客户端将该cookie与每个后续请求一起呈现,以便向服务器标识自己,以便服务器可以将正确的登录与每个新请求相关联。这就是快递会的工作方式。
要在应用中完成此工作,您只需要保存并发送每个ajax请求的Cookie。您没有在应用中显示任何代码,因此我们无法提出具体的编码建议,但通常会支持称为“cookie jar”的内容,即与捕获Cookie的每个请求和响应相关联的代码,保存它们并随后发送它们。如果您使用的通信库没有这样的功能,您可以找到一些功能,也可以自己编写代码。这是在响应中检索set-cookie
标头,保存以供以后使用,然后在每个新请求上设置cookie
标头时使用该值。
如果cookie设置了过期日期/时间,那么您的cookie处理代码应该遵守该标准。您还必须小心遵循正确的程序并仅将cookie发送到它们所属的目的地(域和路径限制),否则您可能会无意中打开安全漏洞。如果你能找到一个遵循所有正确cookie规则的已经实现的解决方案,那显然是最好的。