簡體   English   中英

如何使用 JavaScript 從瀏覽器獲取 cookie,然后使用它們進行授權?

[英]How to get cookies from a browser using JavaScript and then use them for authorization?

此實現用於 e2e 測試,作為檢查文件是否可下載而不是實際下載的解決方法。

目前我正在使用以下代碼從特定的 HEAD 請求中獲取標頭 + 狀態。 這里的問題是它沒有使用前面步驟中的授權,所以顯然我將不得不再次授權,但這次使用 cookie。

1)如何從瀏覽器獲取 cookie(我只需要sessionID cookie),我的意思是從活動會話中獲取,因為正如我所說,我已經登錄了? 並且還將 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); },

我認為您應該使用 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM