欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

node.js - PHP和NodeJs开发的应用如何共用Session

程序员文章站 2022-06-14 13:50:12
...
分别用PHP和NodeJs开发了两个应用,那么这两个应用如何共用一个session?

回复内容:

分别用PHP和NodeJs开发了两个应用,那么这两个应用如何共用一个session?

了解下session的机制

  1. 客户端(浏览器中) cookie 作为键值,匹配服务器端的一个数据。然后客户端每次在 HTTP 请求里面带着那个 cookie,然后服务器端“理所当然”认为服务器端的这个数据是针对该客户端的。
  2. 某些系统喜欢把 session 内容编码后加密放在 cookie 里面

SO:

  1. 你可以共用 cookie,然后把数据放在 nodejs 和 拍黄片(Sorry,是PHP) 都可以取到的地方,例如 redis。影像中 php 默认的 session 是写他自己的文件的,So,你需要同时重写。
  2. 两个服务端共用一套加解密方式,不过不太建议。

二者共享的基础的基础条件是:
1. 客户端的cookie中保存 session_id值的cookie name一样
2. 服务端把session数据保存在共享的存储介质中,比如数据库、redis。通过同样的方式序列化、反序列化session值。例如二者都使用 json格式来做存储
参考这个项目:https://gist.github.com/mscdex/9507b0d8df42e0aec825 给出了phpnode.js共享的方案,其中php使用的存储方案:redis-session-php