我使用Devise token_authentication服务和ActiveResource客户端。我希望自动设置:auth_token params in every requests!
我尝试了这个,但这不起作用......
class AuthApp
def initialize(app)
@app = app
end
def call(env)
status, headers, response = @app.call(env)
request = Rack::Request.new(env)
request.params[:auth_token] = 'jCxKPj8wJJdOnQJB8ERy'
[status, headers, response]
end
end
有什么想法吗?
答案 0 :(得分:4)
如果您拥有包含this pull request的最新机架副本,则可以使用Rack::Request#update_param
:
request = Rack::Request.new(env)
request.update_param :auth_token, 'jCxKPj8wJJdOnQJB8ERy'
这将持续存在于中间件(和Rails)之间传递的env
。