ich neue Benutzer von Anmeldeseite durch Hilfe von passport.js Anmelden Formular hinzufügen möchten folgtRegister Benutzer durch die Pass Js
<form id="Signup-form" name="SignupForm" action="/signup" method="post"/>
<input type="text" id="firstname" name="Firstname" >
<input type="text" id="lastname" name="Lastname"/>
<input type="email" name="email" />
<input type="text" id="rollno" name="rollno"/>
<input type="password" name="password" id="password"/>
<input type="password" name="confirm" id="confirm-password"/>
<input type="radio" name='Gender' value="Male" />
<input type="radio" name='Gender' value="FeMale" />
</form>
meinen Pass in app.js als
initialisierterforderlich
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
nach db Einstellung
require('./config/passport');
intialized als
app.use(passport.initialize());
app.use(passport.session());
Post anmelden Route
router.post('/signup', passport.authenticate('local.signup' , {
successRedirect : '/home',
failuerRedirect : '/signup',
failuerFlash: true
}));
mein Benutzermodell
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var bcrypt = require('bcrypt-nodejs')
const UserSchema = new Schema({
First_Name : String,
Last_Name : String,
email : String,
Roll_No : String,
Gender : String,
password : String
},{collection : 'Users'});
UserSchema.methods.encryptPassword = function(password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync(5), null);
};
UserSchema.methods.validPassword = function(password) {
return bcrypt.compareSync(password, this.password);
}
var User = mongoose.model('User' , UserSchema);
module.exports = User;
jetzt meine passport.js Datei in Konfigurationsverzeichnis ist
var passport = require('passport');
var User = require('../models/user');
var LocalStrategy = require('passport-local').Strategy;
passport.serializeUser(function (user, done) {
done(null, user.id);
});
passport.deserializeUser(function (id, done) {
User.findById(id, function (err, user) {
done(err, user);
});
});
meine wichtigsten Fragen, wie mit allen Feldern
passport.use('local.signup', new LocalStrategy({
//strategy code here
}));
kann u Strategie für diese Strecke schreiben Bitte helfen Sie mir dafür 1 –
Mate dies ist Ihre Antwort Sie müssen nur 5 Zeilen Code ändern. Ich gab dir 90%, du musst nur die 10% machen. Wenn Sie nicht verstehen, was der Code tut (was übrigens einfach ist), sollten Sie vielleicht lesen, wie Express-Middleware und Pass funktioniert – Stamos