我正在使用具有以下配置的本地策略:
passport.use(
new LocalStrategy((username, password, done) => {
process.nextTick(() => {
findByUsername(username, (err, user) => {
if (err) {
return done(err);
}
if (!user) {
return done(null, false, { message: `Unknown user ${username}` });
}
if (user.password !== password) {
return done(null, false, { message: "Invalid password" });
}
return done(null, user);
});
});
})
);
login
端点的定义如下:
server.post(
"/login",
passport.authenticate("local", {
successRedirect: "/",
})
);
这可以按预期成功完成,但是我不需要使用successRedirect
选项,但是如果删除此选项,则在执行请求时会收到404
状态代码响应:
POST http://localhost:3001/login 404(未找到)
以下是不含successRedirect
的代码:
server.post("/login", passport.authenticate("local"));
我还尝试使用其他选项设置authenticate
,但没有设置successRedirect
,但是我得到了相同的错误消息。
我正在使用的依赖项版本为:express 4.16.4
,passport 0.4.0
和passport-local 1.0.0
答案 0 :(得分:0)
尝试一下
def softmax(x):
f = np.exp(x - np.max(x)) # shift values
return f / f.sum(axis=0)
softmax([1,3,5])
# prints: array([0.01587624, 0.11731043, 0.86681333])
softmax([2345,3456,6543,-6789,-9234])
# prints: array([0., 0., 1., 0., 0.])