使用 Rack 中间件在每个请求上添加 api_key
我使用 Devise token_authentication 服务和 ActiveResource 客户端。我希望在每个请求中自动设置 :auth_token 参数!
我尝试过这个,但这不起作用......
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
有什么想法吗?
I work with Devise token_authentication service and ActiveResource client. I wish set automatically :auth_token params in every requests !
I tried this, but this doesn't work...
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
Any idea ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您有包含此拉取请求的最新rack副本,您可以使用
Rack::Request#update_param
:它将保留在中间件(以及 Rails)之间传递的
env
中。If you have a recent copy of rack that includes this pull request, you can use
Rack::Request#update_param
:That will persist in the
env
that is passed among middlewares (and to Rails).