Используйте жесткий файл cookie, чтобы сохранить сессионный токен - PullRequest
0 голосов
/ 07 ноября 2019

Использование жестких файлов cookie

var tough = require('tough-cookie');

let hostname = 'localhost';

let sessionCookie = new tough.Cookie({
    key: "AdminSessionToken",
    value: adminSessionToken,
    //domain: hostname,//'api.mydomain.com',
   httpOnly: true,
   maxAge: 31536000
   });

let cookiejar = request.jar();
//cookiejar._jar.rejectPublicSuffixes = false;
//cookiejar.setCookie(sessionCookie.toString(),hostname);
let sessionString = JSON.stringify(sessionCookie);//.toString();
cookiejar.setCookie(sessionString);

//var sessiontoken = cookiejar.getCookies(hostname);
var sessiontoken = cookiejar.getCookies();
console.log(sessiontoken);

при вызове getCookies возвращает пустой массив, потому что в нем отсутствует путь к файлу cookie? при попытке использовать с именем хоста, как в примере

cookiejar.setCookie (cookie, 'http://currentdomain.example.com/path', cb);

при использовании localhost все возвращалонедопустимое имя хоста для файла cookie с использованием флага cookiejar._jar.rejectPublicSuffixes = false для предотвращения ошибки открытого суффикса.

...