2017-11-15 8 views
0

更新:私はexpress-4.x-local-exampleをダウンロードしています。私が紛失しているものがありますか?パスポートのローカル戦略が呼び出されていない

私はパスポートのローカル戦略を設定しようとしていますが、解雇されていません。資格情報を入力すると、ページはfailureRedirectにリダイレクトされます。

app.js

const express = require('express') 
    , app = express() 
    , mainRouter = require('./controllers/mainRouter'); 

mainRouter(app); 

mainRouter.js

const bodyParser = require('body-parser') 
    , passport = require('passport') 
    , passportConfig = require('../config/passport'); 

passportConfig(passport); 

module.exports = (app) => {  
    app.use(bodyParser.json()); 
    app.use(bodyParser.urlencoded({ extended: true })); 
    app.use(passport.initialize()); 
    app.use(passport.session()); 

    app.post('/login', passport.authenticate(('local'), { 
     successRedirect: '/', 
     failureRedirect: 'login/', 
     }) 
    );    
} 

passport.js

const LocalStrategy = require('passport-local').Strategy; 

module.exports = (passport) => { 
    passport.use(new LocalStrategy({usernameField: 'email'}, 
     (email, password, done) => { 
      console.log('This message is not being logged.'); 
     }) 
    ); 
} 

答えて

0

あなたのない交流あなたのmainRouter.jsファイルで戦略を呼んでいます。認証戦略は名_を持っている必要があります。

app.post前に、私はすでにこれを試みたが、_errorを持ってpassport.use(passportConfig);

+0

を追加します。 'passportConfig(パスポート)'は戦略をロードするはずがありませんか? –

+0

@AlPetersonそれはローカル戦略であるため、名前が必要です。 { console.log( 'このメッセージはログに記録されていません'); }} ); 次に: 'passport.use( 'basic'、passportStrat);' – CascadiaJS

関連する問題