作为我正在构建的API的一部分,有一种用户身份验证方法,成功时返回有用的用户信息,API令牌等的有效负载.
在为处理此问题的控制器编写功能测试时,我遇到了测试HTTP Basic auth的问题; 我发现很多博客提到以下代码应该用于欺骗标头以进行身份验证尝试:
@request.env['HTTP_AUTHORIZATION'] = ActionController::HttpAuthentication::Basic.encode_credentials(email, pass)
Run Code Online (Sandbox Code Playgroud)
问题是这没有效果; authenticate_with_http_basic没有看到标题,因此即使存在有效凭据也会返回false.
我错过了什么吗?
请注意,如果在回答中有用,应用程序将被冻结到Rails 2.2.2.
authentication testing ruby-on-rails basic-authentication http-headers