как создать файл cookie в узлах socket.io

#javascript #node.js #socket.io

Вопрос:

я пытаюсь создать файл cookie во время использования socket.io. Я могу читать файлы cookie, но не могу найти никакой информации о том, как их создать.

  socket.on('test', async function(){
    
    //  view set cookies (works!)
    console.log('cookies', socket.handshake.headers.cookie);

    // create cookie here...
});
 

Спасибо

Ответ №1:

вы можете установить файл cookie, как вы могли бы сделать это в документации mdn с помощью setcookies (), и прочитать его с помощью api файлов cookie

Комментарии:

1. я попробовал это приложение в сокете, но не повезло, у вас есть пример, пожалуйста?

Ответ №2:

Вы можете сделать это так же , как document.cookie и, но вместо:

 document.cookie = ";mycookie=myval";
 

ты делаешь:

 socket.handshake.headers.cookie = ";mycookie=myval; expires=cookieDate; path=cookiePathOnWebsite"
 

например:

 var date = new Date();
date.setTime(date.getTime() (days*24*60*60*1000));
var expires = date.toGMTString();
socket.on('test',async function(){
  socket.handshake.headers.cookie = ";foo=bar; expires=" date ";path=/"
});
 

установит файл cookie на главной странице вашего веб-сайта, foo определяемый как bar !

Комментарии:

1. спасибо за ваш комментарий, я попытался установить файл cookie, используя ваш пример кода, но я не вижу его в : сокете. рукопожатие. заголовки.cookie что я здесь упускаю, пожалуйста?