我正在积极尝试获取有关httpOnly
cookie 的知识,并发现了很多关于它的文章,我们为什么要使用它。
但我还没有看到任何关于如何使用它的实际例子。通过几次试验和错误,我知道我们不能httpOnly
在浏览器中设置标志,需要在服务器上完成。所以我cookie-parser
相应地使用了库:
const express = require('express');
var cookieParser = require('cookie-parser');
const app = express();
app.use(cookieParser());
app.post('/generateToken', (req, res) => {
res.cookie('AccessToken', JWT_AUTH_TOKEN, {
expires: new Date(new Date().getTime() + 30 * 1000),
sameSite: 'strict',
httpOnly: true,
})
res.cookie('RefreshToken', JWT_REFRESH_TOKEN, {
expires: new Date(new Date().getTime() + 31557600000),
sameSite: 'strict',
httpOnly: true,
}).send("hello")
});
app.listen(process.env.PORT || 5050);
通过这个,我成功地获得了存储在我的浏览器中的 cookie 以及所有的属性,比如sameSite
,HttpOnly
除非secure:true
我在本地主机上。但问题是我们无法使用httpOnly
javascript 访问这些令牌,如何将其发送到具有正确标头的特定路由,如下所示
let token = req.headers['authorization'];
并发送 httpOnly cookierefreshToken
让我们说/refresh
Route 以使用 Axios 获取新accessTokens
信息,或者这样做的方式是什么?