在服务器端的Passport JS本地用户验证之后,我如何使用客户端上的cookie显示用户信息



我正在使用Passport JS和本地用户验证的Express会话,我想使用cookie在VUE JS上运行的客户端上显示诸如名字或电子邮件之类的用户信息,用户使用服务器端上的Passport JS成功注册后。我该如何完成?

有几种方法:

  1. 使用返回已登录用户的用户信息的API端点,例如/me。每当需要显示用户的信息时,请致电/me并解析返回的内容。

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

您可以使用

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

您可以从客户端阅读

let x = document.cookie

如果要从Express Server读取它,则可以使用Cookie-Parser因此,npm安装cookie-parser,然后将其要求到您的Express Server中并执行App.use

var express = require('express')
var cookieParser = require('cookie-parser')
var app = express()
app.use(cookieParser())

要在Express Server上读取Cookie,

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

这将在服务器端显示cookie。

相关内容

最新更新