전자 메일 주소로 활성화 코드를 보내 사용자의 전자 메일 주소를 확인하려고합니다. 사용자가 액티베이터 URL (GET 메소드)을 클릭하면 서버는 액티베이터 코드 + 사용자 이름을 비교하여 처리합니다.GET 방식의 여권 js
이 같은 GET 방식을 사용하고 있습니다 :
router.get('/activator/:username/:activator', function(req, res, next){
passport.authenticate('activator', function(err, user, info){
if (err) {console.log('Error info: ', info);}
else if (!user) {console.log('User not found: ' , info)}
else {console.log('User activated')}
res.redirect('/');
})(req, res, next)
});
그리고 activator.js
것은 :
var LocalStrategy = require('passport-local').Strategy;
var User = require('../models/user');
module.exports = function(passport){
passport.use('activator', new LocalStrategy({
usernameField: 'username',
passwordField: 'activator'
},
function(username, password, done) {
User.findOne({username: username , activator: password},
function(err, user){
if (err){
return done(null, false, 'User not found.');
}
user.activate = true;
user.save(function (err) {
if (err) return handleError(err);
return done(null, user, 'Persistence Registration successful');
});
});
})
);
};
그러나 서버 응답은 다음과 같습니다 { message: 'Missing credentials'}
그것은 여권 JS 보인다 및 방법의 PARAMS을 얻는 것은 약간의 충돌이있다.
맞습니까? 그 일을 어떻게해야합니까?
:
그래서 나는 내 응용 프로그램 코드를 변경? URL에서 매개 변수를 여권 인증에 액세스 할 수없는 것 같아요! –이 작동하지 않습니다. 내 매개 변수가 활성화 자이며 사용자 이름이 전자 메일 및 비밀번호가 아닙니다. –
@ShriramManoharan 해당 필드를 제외하고 어디에서나 해당 필드를 볼 수 없었습니다. https://github.com/jaredhanson/passport-local – abdulbarik