我可以让 Passport.js 添加新字段到新注册帐户吗?
can I make Passport.js add new field to new register accounts?
我有这个代码:
我想与用户一起使用其他字段,例如他们的 phone 号码,但我不知道如何添加它们
const userSchema = new mongoose.Schema({
username: String,
password: String
//// here i want to add another property
});
userSchema.plugin(passportLocalMongoose);
const User = mongoose.model('user', userSchema);
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
我的注册是这样的:
User.register({ username: req.body.username }, req.body.password, function (err) {
if (err) {
console.log(err);
res.redirect("/register");
} else {
passport.authenticate("local")(req, res, function () {
res.redirect("/");
});
}
});
我不知道在哪里添加新字段
你就快完成了!我建议在您的架构中添加该字段。
const userSchema = new mongoose.Schema({
username: String,
password: String
phoneNumber: String,
});
然后在注册调用中将数据传递给 User.register
方法。
const user = {
username: req.body.username,
phoneNumber: req.body.phoneNumber,
}
User.register(new User(user), req.body.password, function (err) {
// your callback logic
我有这个代码: 我想与用户一起使用其他字段,例如他们的 phone 号码,但我不知道如何添加它们
const userSchema = new mongoose.Schema({
username: String,
password: String
//// here i want to add another property
});
userSchema.plugin(passportLocalMongoose);
const User = mongoose.model('user', userSchema);
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
我的注册是这样的:
User.register({ username: req.body.username }, req.body.password, function (err) {
if (err) {
console.log(err);
res.redirect("/register");
} else {
passport.authenticate("local")(req, res, function () {
res.redirect("/");
});
}
});
我不知道在哪里添加新字段
你就快完成了!我建议在您的架构中添加该字段。
const userSchema = new mongoose.Schema({
username: String,
password: String
phoneNumber: String,
});
然后在注册调用中将数据传递给 User.register
方法。
const user = {
username: req.body.username,
phoneNumber: req.body.phoneNumber,
}
User.register(new User(user), req.body.password, function (err) {
// your callback logic