我有一个REST API应用程序,使用Node在NodeJ上实现。我想添加身份验证,并决定使用everyauth,因为我们将来需要通过社交网站进行身份验证。我复制&从https://github.com/bnoguchi/everyauth(密码验证部分)粘贴密码的Everyauth示例。当我使用connect实现REST API时,发帖到
http://localhost:3000/login
输入everyauth.password.authenticate方法。连接代码如下所示。
var connect = require('connect');
connect(
connect.bodyParser()
, connect.cookieParser()
, connect.session({secret: 'whodunnit'})
, everyauth.middleware()
).listen(3000);
但是,当我将代码切换为express时,如下所示,发布到
http://localhost:3000/login
给出404 - “无法发布/登录”。我不确定为什么Everyauth没有添加路径“login”来表达。
var express = require('express');
var http = require('http');
var everyauth = require('everyauth');
var app = express();
app.configure (function () {
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({"secret": "0123456789"}));
app.use(everyauth.middleware(app));
});
app.listen(3000);
有人可以帮忙解决这个问题。
答案 0 :(得分:0)
我弄清楚问题是什么。它是配置app / connect的地方。 app.configure或connect配置应该在everyauth.password.authenticate之后。在我连接的情况下,我在everyauth之后得到它,并且在express中我在everyauth之前有配置。希望这有助于某人。