在服务器端护照js本地用户身份验证后,如何在客户端使用cookie显示用户信息?

时间:2017-12-16 22:14:28

标签: javascript node.js cookies passport.js express-session

我正在使用本地用户身份验证的护照js和快速会话,并且我希望在用户成功注册后使用cookie来显示用户信息,例如在vue js上运行的客户端上的名字或电子邮件服务器端的护照js。我该如何做到这一点?

2 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点:

  1. 使用API​​端点(如/me)返回登录用户的用户信息。每当需要显示用户的信息时,请拨打/me并解析返回的内容。

  2. 使用JWT作为您的cookie并在其中包含用户信息。但是,一旦用户数据发生变化,您将需要更新用户的cookie。这可能适用于相对静态的数据,例如不经常更改的名称。但是,对于频繁更改的数据,这可能不是最方便的选项。还要记住,用户在每个请求上发送cookie中的任何内容,如果加载到cookie中太多,可能会占用额外的带宽甚至超过最大标头长度。

答案 1 :(得分:0)

您可以使用

将Cookie从客户端保存到用户的电脑中
document.cookie="email:loremipsum@dolor.com"

您可以从客户端读取

let x = document.cookie

如果要从快速服务器读取它,可以使用cookie-parser 所以npm安装cookie-parser然后将它放入你的快速服务器并执行app.use

var express = require('express')
var cookieParser = require('cookie-parser')

var app = express()
app.use(cookieParser())

阅读快递服务器上的cookie,

app.get('/',(req,res)=>{
   console.log(req.cookies.email)
});

这会在服务器端显示cookie。