验证后,Passport.js重定向到“302 Found”

时间:2014-05-01 02:53:10

标签: node.js express passport.js url-redirection http-status-code-302

Passport.js可以在身份验证时提供成功失败重定向网址:

app.post('/login',
  passport.authenticate('local', { successRedirect: '/success.html',
                                   failureRedirect: '/failed.html'
                                 }
);

据我所知,重定向总是“302 Found” - 但不应该是“303 See Other”吗?因为按RFC 2616/10.3.3

  

如果收到302状态代码以响应其他请求   比GET或HEAD,用户代理不得自动重定向
  除非可以由用户[...]

确认,否则请求

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

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

1 个答案:

答案 0 :(得分:2)

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

  

注意:许多pre-HTTP / 1.1用户代理不理解303         状态。当与这样的客户端的互操作性是一个问题时,         因为大多数用户代理会做出反应,所以可以使用302状态代码         如此处针对303所述的302响应。

此外,登录用户时,用户(选择登录)可能会隐含确认重定向。