将everyauth与restify一起使用
Posted
技术标签:
【中文标题】将everyauth与restify一起使用【英文标题】:Using everyauth with 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?
【问题讨论】:
【参考方案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进行连接。
希望对您有所帮助。
【讨论】:
以上是关于将everyauth与restify一起使用的主要内容,如果未能解决你的问题,请参考以下文章
不能将 @Res() 与 FilesInterceptor() 一起使用