当前位置: 首页 > 面试题库 >

如何使用Passport.js访问Cookie集

鲍永春
2023-03-14
问题内容

我正在使用Passport.js来实现对我的Node-App的登录。但是在我的应用程序中,我需要访问用户的ID,目前,我不知道如何实现此目的!

我该如何访问用户ID或自己将其发送到Cookie中?


问题答案:

您应该在策略的配置旁边,在您的应用中引入以下代码:

passport.serializeUser(function(user, done) {
   done(null, user.id);
});

passport.deserializeUser(function(obj, done) {
   done(null, obj);
});

这样,当您通过done身份验证的用户调用该函数时,password会负责将userId存储在cookie中。每当您要访问userId时,都可以在请求正文中找到它。(表示
req["user"])。

serializeUser如果要在会话中存储其他数据,也可以开发该功能。我这样做:

passport.serializeUser(function(user, done) {
   done(null, {
      id: user["id"],
      userName: user["userName"],
      email: user["email"]
   });
});

您可以在此处找到更多信息:http :
//passportjs.org/docs/configure



 类似资料:
  • 问题内容: 我在用 : Node.js Express 4.0 Passport.js Google OAuth 2身份验证 对于每个用户,我将其Google个人资料中的一些信息(电子邮件等…)存储在MySQL数据库中(我对此技术没有选择),访问和刷新令牌以及用户在提供信息时提供的其他信息他在我的应用上注册。 我已经看到了password.js的不同用法,特别是关于该信息在会话中的存储方式。 在p

  • 问题内容: 我有包含Gmail登录信息的Cookie,因此Chrome会自动打开我的Gmail。 我尝试了以下代码,但是没有用: 我检查了它的目录是可以的。这里有什么问题? 问题答案: 我以前没有注意到的Chrome驱动程序官方Wiki页面上有一个“ 已知问题”部分: 已知的问题 3。无法指定自定义配置文件 现在,我不知道这是不是过时的。我找不到为此的错误报告。的确,您不能通过(自2013年7月起

  • 问题内容: AngularJS访问cookie的方式是什么?我看到过同时引用Cookie的服务和模块的信息,但没有示例。 有没有,或者没有AngularJS规范方法? 问题答案: 该答案已更新,以反映最新的稳定angularjs版本。一个重要的注意事项是周围有薄薄的包装纸。它们几乎相同,因为它们仅与会话cookie一起使用。虽然,这回答了原始问题,但是您可能还需要考虑其他解决方案,例如使用loca

  • 问题内容: 我已经阅读了两天的信息和样本,但不确定此后是否完成了所有身份验证过程。 我怎么知道我是否已登录,例如,我将有一个带有登录或注销按钮的导航栏,下面是否有一些变量,如代码? 问题答案: 如果用户已登录,则将为中的每个请求创建一个对象,您可以检查任何中间件是否存在: 您可以为此创建简单的中间件,该中间件将检查用户是否已登录,如果没有,则将重定向到页面: 并使用它:

  • 我有一个基本的SpringMVC应用程序,运行(和映射)很好。现在我想用MockMvc设置我的单元测试来执行get请求和其他东西。但如果我运行测试,则会出现断言错误状态: 以下是我的短期测试课程: 所以我希望MockMvc在默认情况下获得DispatcherServlet的位置。但它实际上并不是用来映射的。 我的“web.xml”和“dispatcher servlet.xml”位于“web-IN

  • Passport 是 Node.js 的认证中间件,特别灵活和模块化。可非常方便的植入任意基于 Express 的 Web 应用。支持用户名密码、Facebook 和  twitter 等认证。 特性: 支持超过 140+ 种认证策略 支持 OpenID 和 OAuth 单点登录 可轻松处理认证成功和失败 支持会话的持久化 动态的 scope 和权限 可选择所需的策略 实现自定义策略 无需在应用中