2013-03-04 2 views
0

Я столкнулся с этой проблемой со сложным паспортом. Я уже выполнил шаги из руководства, но я не могу заставить это работать, когда я пытаюсь получить доступ/auth/github.CompoundJS и паспортная поддержка

Любые советы?

GET /auth/github controller: auth action: github 
Params: {"controller":"auth","action":"github"} 
>>> perform github 
Error: Undefined action auth#github(/auth/github) 
at Object.FlowControl.call.context.innerNext (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/node_modules/kontroller/lib/flow-control.js:67:27) 
at Array.FlowControl.call.collection.forEach.queue.push.ctl.context.inAction [as 1] (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/node_modules/kontroller/lib/flow-control.js:139:28) 
at run (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/node_modules/kontroller/lib/flow-control.js:102:27) 
at Array.FlowControl.call.action [as 0] (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/node_modules/kontroller/lib/flow-control.js:60:13) 
at run (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/node_modules/kontroller/lib/flow-control.js:102:27) 
at FlowControl.call.compiledAction.(anonymous function) (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/node_modules/kontroller/lib/flow-control.js:90:9) 
at Controller.call (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/node_modules/kontroller/lib/flow-control.js:49:16) 
at Controller.call (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/node_modules/kontroller/lib/flow-control.js:93:10) 
at Controller.perform (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/node_modules/kontroller/lib/flow-control.js:18:10) 
at ControllerBrigde.callControllerAction (/Users/javiermanzanomorilla/Development/workspace/authapp/node_modules/compound/lib/controller-bridge.js:95:9) 

ответ

0

Я думаю, что вы не запустили паспорт.

Если вы используете составной паспорт, вы должны его инициализировать, вызвав функцию init в config/environment.

var pass_connect=require('compound-passport'); 
    app.configure(function(){ 
    .... 

    //init the compound passport 
    pass_connect.init(compound); 

    app.use(app.router); 
}); 

случае, если вы хотите, чтобы инициализировать это вручную, вы должны назвать эти два метода:

var passport=require('passport');  
var Strategy = require('passport-github').Strategy; 
    passport.use(new Strategy({ 
    clientID: conf.github.clientID, 
    clientSecret: conf.github.secret, 
    callbackURL: conf.baseURL + 'auth/github/callback' 
}, exports.callback)); 

app.get('/auth/github', 
    passport.authenticate('github')); 
app.get('/auth/github/callback', 
    passport.authenticate('github', { failureRedirect: '/' }), 
    exports.redirectOnSuccess); 

простите за мой английский.