【问题标题】:Using everyauth with restify将everyauth与restify一起使用
【发布时间】:2012-10-17 13:33:49
【问题描述】:

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

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

但restify不接受everyauth中间件。

如何设置restify和everyauth?

【问题讨论】:

    标签: node.js everyauth restify


    【解决方案1】:

    您遇到的问题是 restify 没有,并且 current 不会有中间件层。

    以下来自restify的作者

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

    我现在将用“不会修复”来结束它:\

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

    您可以做的是使用 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);
    

    https://gist.github.com/2140974

    然后你可以根据文档添加everyauth进行连接。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-10
      • 2016-02-22
      • 2013-04-02
      • 2017-01-02
      • 2016-03-22
      • 2019-12-24
      • 2014-01-31
      • 2015-10-16
      相关资源
      最近更新 更多