Node.js 将everyauth与restify一起使用

Node.js 将everyauth与restify一起使用,node.js,everyauth,restify,Node.js,Everyauth,Restify,我正在尝试使用everyauth来处理使用restify创建的RESTAPI的身份验证。 但找不到起点。我希望能做一些类似的事情: var restify = require('restify'); var everyauth = require('everyauth'); var server = restify.createServer(); server.use(everyauth.middleware()); 但是restify不接受everyauth中间件 如何设置restify

我正在尝试使用everyauth来处理使用restify创建的RESTAPI的身份验证。 但找不到起点。我希望能做一些类似的事情:

var restify = require('restify');  
var everyauth = require('everyauth');
var server = restify.createServer();
server.use(everyauth.middleware());
但是restify不接受everyauth中间件


如何设置restify和everyauth?

您遇到的问题是restify没有,current也没有中间件层

以下内容来自restify的作者

我已经考虑了很多,这里让我担心的是注册与connect evermore的兼容性。我无法控制或输入他们决定做什么。这似乎更像是“如果它有效,那就太好了”

现在,我要用一个“不会修复”来结束这个问题:\

您可以使用connect并在其上添加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);

然后,您可以根据文档添加everyauth进行连接

希望有帮助