Как получить куки из браузера, используя JavaScript, а затем использовать их для авторизации? - PullRequest
0 голосов
/ 25 марта 2019

Эта реализация используется для тестов e2e, в качестве обходного пути проверки возможности загрузки файла вместо его фактической загрузки.

В настоящее время я использую следующий фрагмент кода, чтобы получить заголовки + статус изконкретный запрос HEAD.Проблема здесь в том, что он не использует авторизацию из предыдущих шагов, поэтому, очевидно, мне придется авторизоваться снова, но на этот раз с куки.

1) Как я могу получить куки (мне нужно только sessionID куки) из браузера, я имею в виду из активного сеанса, потому что, как я уже сказал, я уже вошел в систему?А также сохраните sessionID, например, в глобальных файлах.

2) И как я могу отправить / использовать cookie (sessionID) для авторизации в приведенном ниже коде?

  • Я использую JavaScript / Node.js

    getHeader: async function (url) {
        var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
        var xhr = new XMLHttpRequest();
        url = "{url}.pdf";
        xhr.open("HEAD", url, true);
        xhr.onreadystatechange = function () {
            if (xhr.readyState == this.DONE) {
                console.log('HEADERS:  ' + xhr.getAllResponseHeaders());
                console.log('STATUS: ' + xhr.status)
            }
        };
        xhr.send(null);
    },
    

1 Ответ

0 голосов
/ 25 марта 2019

Я думаю, что вы должны использовать модуль cookie-parser (https://www.npmjs.com/package/cookie-parser):

var express = require('express')
var cookieParser = require('cookie-parser')

var app = express()
app.use(cookieParser())

app.get('/', function (req, res) {
  // Cookies that have not been signed
  console.log('Cookies: ', req.cookies)

  // Cookies that have been signed
  console.log('Signed Cookies: ', req.signedCookies)
})

app.listen(8080)

Кроме того, вы можете ознакомиться с документацией ExpressJS для получения рекомендаций по использованию файлов cookie: https://expressjs.com/en/advanced/best-practice-security.html#use-cookies-securely

...