2012-10-27 33 views
4

我試圖使用everyauth來處理用restify創建的其餘api的身份驗證。 但找不到起點。我期望做的是這樣的:與restify一起使用everyauth

var restify = require('restify'); 
var everyauth = require('everyauth'); 
var server = restify.createServer(); 
server.use(everyauth.middleware()); 

但restify不接受everyauth中間件。

如何設置restify和everyauth?

回答

13

您遇到的問題是restify不會,當前不會有中間件層。下面

是從的RESTify

筆者我已經想過這個相當多,而且在這裏我擔心的是報名與連接永遠兼容的東西。我無法控制或輸入他們決定要做的事情。這看起來更像是「如果有效,好極了」。

我要與「不會修復」關閉了這一點,現在:\

https://github.com/mcavage/node-restify/issues/89

你可以做的是連接使用,並添加頂部的服務器的RESTify那你可以使用connect來像everyauth一樣管理你的中間件。

這是一個很好的例子,我的工作很好,我的系統是這樣。

// Restify server config here 
var server = restify.createServer({ 
    name: 'restify-test', 
    version: '1.0.0', 
}); 

// ... 

// Connect config here 
var connectApp = connect() 
    .use(connect.logger()) 
    .use(connect.bodyParser()) 
    .use(connect.query()) 
    .use(connect.cookieParser()) 
    // And this is where the magic happens 
    .use("/api", function (req, res) { 
      server.server.emit('request', req, res); 
     }); 

connectApp.listen(8080); 

https://gist.github.com/2140974

那麼你可以添加everyauth連接按文件。

希望有所幫助。