首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何读取通过服务器端Passport (节点-表达式)设置的客户端cookie (Passport)?

问如何读取通过服务器端Passport (节点-表达式)设置的客户端cookie (Passport)?
EN

Stack Overflow用户
提问于 2020-08-06 15:00:01
回答 1查看 1.4K关注 0票数 1

如何读取通过服务器端Passport (节点-表达式)设置的客户端cookie (Passport)?

cookie是正确设置的,可以在服务器端序列化和反序列化,如下所示:

代码语言:javascript
复制
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的经验,但我看到了以下解决方案:

代码语言:javascript
复制
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值是什么。有谁知道什么是关键的价值,或者如何读取由护照创建的饼干?

EN

回答 1

Stack Overflow用户

发布于 2020-08-06 16:34:46

cookie将仅为HTTP,在客户端不可读。但是,您可以很容易地做到这一点:

/api/user/current

  • This
  • 创建服务器端API路由
  • ,可能在GET
  • 端点处执行cookie反序列化,然后返回JSON对象

然后,客户端浏览器代码只对上述端点执行Ajax操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63286397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档