情况:
我正在尝试检查我的用户在向服务器发出请求时是否经过身份验证。
我用谷歌搜索了一下,发现了这个:
How to show different page if user is logged in via firebase
下面是我尝试使用这个库实现这个解决方案:
https://github.com/js-cookie/js-cookie/blob/latest/src/js.cookie.js
代码:
服务器端
var cookies = require("cookie-parser");
router.get("/", function(req, res, next){
const { token } = req.cookies;
console.log('Verifying token', token);
});
客户端
<script src="/public/js/cookieScript.js"> </script>
<a href="/upload" class = "authIn uploadButton btn btn-success pull-right">UPLOAD</a>
<script>
const setAppCookie = () => firebase.auth().currentUser &&
firebase.auth().currentUser.getToken().then(token => {
Cookies.set('token', token, {
domain: window.location.hostname,
expire: 1 / 24, // One hour
path: '/',
secure: true // If served over HTTPS
});
});
</script>
最佳答案
除了需要 cookie-parser 之外,您还应该配置您的 express 应用程序以使用它:
var express = require('express');
var app = express();
var cookies = require("cookie-parser");
app.use(cookies());
关于javascript - 为什么 req.cookies 未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41720801/