developer
6 سال پیش توسط developer مطرح شد
0 پاسخ

رجیستر با پاسپورت

سلام توی نود جی اس میخوام با اطلاعاتی که از api میگیرم رجیستر کنم، الان به این صورته:

    async registerProccess(req, res, next) {
        try {
            if (!await this.validationData(req, res)) return;

            passport.authenticate('local.register')(req, res, next);

            let newCode = new Code({
                user: newUser.id,
                code: Math.floor(Math.random() * 90000) + 10000,
                expire: Date.now() + 1000 * 60 * 5
            });

            newCode.save();

            return res.json({
                status: 'success'
            });

        } catch (err) {
            this.failed(err.message, res);
        }
    }

بعد رجیستر میخوام اون کد رو درست کنم و واسه کاربر پیامک کنم چجوری به این یوزری که تازه درست کردم دسترسی پیدا کنم؟ این روشی که واسه رجیستر استفاده کردم درسته؟

توی پاسپورت بخش رجیستر هم اینه:

passport.use('local.register' , new localStrategy({
    usernameField : 'phone',
    passwordField : 'password',
    passReqToCallback : true
} , (req , phone ,  password , done) => {
    User.findOne({ 'phone' : phone } , (err , user) => {
        if(err) return done(err);
        if(user) return done(null , false , req.flash('errors' , 'چنین کاربری قبلا در سایت ثبت نام کرده است'));

        const newUser = new User({
            name : req.body.name,
            phone,
            password
        });

        newUser.save(err => {
            if(err) return done(err , false , req.flash('errors' , 'ثبت نام با موفقیت انجام نشد لطفا دوباره سعی کنید'));
            done(null , newUser);
        })

    })
}))

@hesammousavi


ثبت پرسش جدید

به همدیگه کمک کنیم

به developer کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام