如何读取通过服务器端Passport (节点-表达式)设置的客户端cookie (Passport)?
cookie是正确设置的,可以在服务器端序列化和反序列化,如下所示:
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});我如何在客户端读取这个cookie (React)?
我没有多少使用cookie的经验,但我看到了以下解决方案:
import React from 'react';
import Cookies from 'js-cookie';
class App extends React.Component {
this.state = {
username: Cookies.get('username')
}
// more code....
}
import React from 'react';
// other imports...
import Cookies from 'universal-cookie';
const cookies = new Cookies();
class App extends React.Component {
this.state = {
username: cookies.get('username')
}
// more code.... 还有很多其他的..。但是,似乎要阅读cookie,您必须了解username或key才能得到它的值。由于Passport.js在serializeUser方法中创建了cookie,所以我不知道key值是什么。有谁知道什么是关键的价值,或者如何读取由护照创建的饼干?
发布于 2020-08-06 16:34:46
cookie将仅为HTTP,在客户端不可读。但是,您可以很容易地做到这一点:
/api/user/current
然后,客户端浏览器代码只对上述端点执行Ajax操作。
https://stackoverflow.com/questions/63286397
复制相似问题