繁体   English   中英

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

[英]How do i use cookies on the client side to display user information after passport js local user auth on the server side?

我正在使用护照js并为本地用户auth进行快速会话,我想在用户成功使用护照js进行注册后,使用cookie在vue js上运行的客户端上显示用户信息,例如名字或电子邮件。服务器端。 我该如何完成?

做这件事有很多种方法:

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

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

您可以使用以下命令从客户端将Cookie保存到用户的PC中

document.cookie="email:loremipsum@dolor.com"

您可以从客户端阅读为

let x = document.cookie

如果您想从Express服务器读取它,则可以使用cookie-parser,因此npm安装cookie-parser,然后将其要求到您的express服务器中并执行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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM