Passport.js在认证后重定向到“302 Found”状态。

5
Passport.js使得在身份验证时可以提供成功和失败的重定向URL。
app.post('/login',
  passport.authenticate('local', { successRedirect: '/success.html',
                                   failureRedirect: '/failed.html'
                                 }
);

据我所知,重定向始终为“302 Found”-但是它们不应该是“303 See Other”吗?因为根据RFC 2616/10.3.3的规定:

如果请求以GET或HEAD之外的方式接收到302状态代码,则用户代理必须不自动重定向请求,除非可以通过用户确认来确认[...]

注意:我看到stackoverflow也用302回复登录,因此可能是一种广泛和容忍的违规行为。

感谢您提前任何评论或建议。

1个回答

2
我认为 10.3.4 303 See Other 可以回答这个问题:

注意:许多 HTTP/1.1 之前的用户代理不理解 303 状态码。当需要与这些客户端进行互操作时,可以使用 302 状态码,因为大多数用户代理对于 302 响应的反应如同在此处描述的 303。

此外,在登录用户时,用户可能会隐含地确认重定向(因为他选择了登录)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接