Express / Node js api SameSite =无安全和cookie安全,在尝试访问api时显示警告

时间:2020-08-22 17:47:50

标签: node.js express

我有以下使用express / node创建的api,但是当我尝试从浏览器访问它时,“如果cookie是在跨站点请求中发送的,则指定SameSite = None和Secure。这将允许第三方使用。”此警告已显示在控制台中,但未检索到任何数据,api如下

let express = require("express");
let app = express();
let bodyparser = require("body-parser")
let jwt = require("jsonwebtoken");
const student = require('./student')


app.use(bodyparser.json)

//used to authenticate the user and create the token
app.get("/auth",(req,res)=>{
    console.log("sdsdsds")
    var token = jwt.sign({email: user.email}, 'hubDemo', {expiresIn: '1h'});
    res.send({token})
})

//fetches the student data and returns 
app.get("/student",(req,res)=>{
    console.log("tst");
    return res.status(200).json({
        ok: true,
        data: student
    });
});


app.listen(3000,()=>{console.log("listening")})

我应该进行哪些更改才能使其正常工作?

1 个答案:

答案 0 :(得分:0)

因此,在您给定的情况下,不会使用您的Express API对Cookie进行签名。但是,对于您的令牌,我强烈建议您调查http-only cookies而不是localStorage。这样可以防止客户端对令牌进行任何调整,而localStorage更容易受到攻击。但是根据您的origin-url,仅在创建cookie时指出SameSite属性即可解决警告。