在 Rails 应用程序中,我有一个过滤器来检查一些标题。就像是:
before_action :validate_consumer
...
def validate_consumer
consumer = self.request.headers['HTTP_CONSUMER_SECRET'] == 'random_key'
consumer || render_unauthorized("Consumer -")
end
def render_unauthorized(token="")
self.headers['WWW-Authenticate'] = 'Token realm="Application"'
render json: {error: "#{token} Bad credentials", error_description: "Denied"}, status: 401
end
这在本地运行(开发)完美运行,视图发送的标头(CONSUMER_SECRET)存在于请求中。但是当我在生产模式下运行时,这个头文件不存在。我想这可能与我的环境有关:该应用程序在 Apache 下运行(使用 Phusion+Passenger)。会不会是这个问题?有谁知道如何解决?