ノードアプリでローカル認証を提供するために、パスポートローカルを使用しています。ただし、ユーザー名ではなくメールアドレスで認証するように変更したいと思います。これを行う方法はありますか?
ありがとうございました。
ノードアプリでローカル認証を提供するために、パスポートローカルを使用しています。ただし、ユーザー名ではなくメールアドレスで認証するように変更したいと思います。これを行う方法はありますか?
ありがとうございました。
検証は自分で (ベリファイア コールバックで) 実装する必要があるため、LocalStrategy
好きなように渡すことができます。
passport.use(new LocalStrategy(function(email, password, done) {
// search your database, or whatever, for the e-mail address
// and check the password...
});
以下のように、リクエスト パラメータから電子メール ID のデータベースをクエリできます。
passport.use('signup', new LocalStrategy({
passReqToCallback : true // allows us to pass back the entire request to the callback
},
function(req, username, password, done) {
//console.log(email);
console.log(req.param('email'));
findOrCreateUser = function(){
// find a user in Mongo with provided username
User.findOne({ 'email' : req.param('email') }, function(err, user) {
});
}))