You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Passport.js函数文档查询:serializeUser与LocalStrategy参数说明

Passport.js 类型注解与配置参数查询指南

serializeUser 函数参数详解

passport.serializeUser 接收两个核心参数:

  • user: 认证成功后得到的用户对象,来源是你在Strategy(比如LocalStrategy)的回调函数中传给done方法的用户实例。
  • cb(回调函数): 用于将用户标识序列化到会话中,接收两个参数:第一个是错误对象(无错误时传null),第二个是要存储到会话中的用户唯一标识(通常是user.id)。

在TypeScript中,可借助@types/passport包提供的类型添加注解,示例如下:

import passport from 'passport';

// 替换YourUserType为你项目中的用户类型定义
passport.serializeUser((user: YourUserType, cb: passport.DoneCallback) => {
  process.nextTick(() => {
    cb(null, user.id);
  });
});

LocalStrategy 构造参数与默认值

LocalStrategy的构造函数接收一个配置对象,常用参数及默认值如下:

  • usernameField: 指定请求中用作用户名的字段名,默认值为'username',若登录用邮箱作为用户名,可设置为'email'。
  • passwordField: 指定请求中用作密码的字段名,默认值为'password'。
  • passReqToCallback: 布尔值,控制是否将req对象传递到验证回调中,默认值为false。

这些参数的定义和默认值都包含在@types/passport-local包的类型声明文件里,你可以直接查看该包的.d.ts文件,或在VS Code等IDE中按住Ctrl点击LocalStrategy跳转到类型定义处查看详情。

配置示例(带类型注解)

import { LocalStrategy } from 'passport-local';

const localStrategy = new LocalStrategy(
  {
    usernameField: 'email',
    passwordField: 'password'
  },
  (username, password, done) => {
    // 自定义用户验证逻辑
  }
);

内容的提问来源于stack exchange,提问作者Nezhaii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 08:45:36