flatiron.js /联盟 – 在哪里把app.use()configuration?

以Union的简单例子为例 ,我想知道我可以在哪里放置通常在app.configure中configuration的代码,比如passport.js :

app.configure(function() { // Initialize Passport! Also use passport.session() middleware, to support // persistent login sessions (recommended). app.use(passport.initialize()); app.use(passport.session()); }); 

有任何想法吗? 服务器和路由器不接受使用()。

联盟似乎使用before收集这个:

 var server = union.createServer({ before: [ connect.session({ secret: 'keyboard cat' }), // for `passport.session()` passport.initialize(), passport.session(), // etc. ] }); 

从“API”文档 :

 @option before {Array} The `before` value is an array of middlewares, which are used to route and serve incoming requests. For instance, in the example, `favicon` is a middleware which handles requests for `/favicon.ico`. 

Union支持通过before属性连接中间件,正如前面提到的那样。 但是,union不处理应用程序configuration; 熨斗呢。 然而,api与express有很大的不同。

例如,configuration一个应用程序可能看起来像这样:

 var path = require('path'), flatiron = require('flatiron'), app = flatiron.app, plugins = flatiron.plugins, connect = require('connect'), // most connect middlewares work with flatiron ootb passport = require('passport'); // Use flatiron's http plugin (not the same as a middleware!) app.use(plugins.http); // configuration consists of key/value pairs, not of function blocks associated with // certain "environments". // Here's *a* way you can handle environment-based configs; there are others! app.config.file(path.resolve( __dirname, 'config', (process.env.NODE_ENV || 'config') + '.json' )); // Use our config to set the secret app.http.before.push(connect.session({ secret: app.config.get('secret') || 'keyboard cat' //default })) app.http.before.push(passport.initialize()); app.http.before.push(passport.session()); 

我还没有尝试运行这个例子(我敢肯定这里有更多的细节),但希望这给你一个想法。

我只是构build了一个包装器来将Passport.js和Flatiron.js集成在一起。

https://npmjs.org/package/flatiron-passport

https://github.com/travist/flatiron-passport

请阅读README.md关于如何使用它并将其应用到您的应用程序。

我已经在LocalStrategy上testing过了,但它应该适用于其他策略。

请不要让我知道。

Interesting Posts