[英]How to handle sessions with Socket.io and Express?
我有一個應用程序啟動並運行。 用戶在登錄后要求他們在以后回來時會保持記錄狀態。
我知道我需要在客戶端以某種方式存儲會話數據,例如cookie。 我試過這個https://stackoverflow.com/a/25618636/2440515但它不起作用。 這不是https://www.npmjs.com/package/socket.io-handshake
我有最新版本的Express和Socket.io。
我的應用程序使用Socket.io進行身份驗證,因此我需要一種方法來更新Socket.io回調中的cookie。 我花了4小時搜索並嘗試不同的解決方案。 有人能給我一個暗示嗎?
謝謝!
您可以使用coockie模塊來解析傳遞的cookie:
$ npm install cookie
代碼:
//...
var cookie = require('cookie');
//...
io.use(function (socket, next) {
var cookies = cookie.parse(socket.request.headers.cookie);
var my_secret = cookies.my_secret || null;
if (!my_secret) {
return next(new Error('No cookie set'));
}
validateMySecretAsync(my_secret, next);
});
// ....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.