4

ノードアプリでローカル認証を提供するために、パスポートローカルを使用しています。ただし、ユーザー名ではなくメールアドレスで認証するように変更したいと思います。これを行う方法はありますか?

ありがとうございました。

4

3 に答える 3

4

検証は自分で (ベリファイア コールバックで) 実装する必要があるため、LocalStrategy好きなように渡すことができます。

passport.use(new LocalStrategy(function(email, password, done) {
  // search your database, or whatever, for the e-mail address
  // and check the password...
});
于 2013-05-14T06:56:26.383 に答える
0

以下のように、リクエスト パラメータから電子メール 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) {

            });
        }))    
于 2015-06-16T13:20:46.557 に答える