【发布时间】:2009-08-11 09:21:52
【问题描述】:
作为我正在构建的 API 的一部分,有一个用户身份验证方法,成功后会返回有用的用户信息、API 令牌等的有效负载。
在为处理此问题的控制器编写功能测试时,我遇到了测试 HTTP Basic auth 的问题;我发现许多博客都提到以下代码应该用于欺骗标头以进行身份验证尝试:
@request.env['HTTP_AUTHORIZATION'] = ActionController::HttpAuthentication::Basic.encode_credentials(email, pass)
问题是这没有效果; authenticate_with_http_basic 看不到标头,因此即使存在有效凭据也会返回 false。
我错过了什么吗?
请注意,如果这对回答有用,应用程序将冻结到 Rails 2.2.2。
【问题讨论】:
-
我只想注意,在 2011 年和 Rails 3.* 中,您引用的代码完美运行。
标签: ruby-on-rails authentication testing http-headers basic-authentication