是否可以访问通过ruby(在控制器中)发送到浏览器的HTML请求的响应标头?
我在做什么?
我正在尝试在Rails应用中使用devise
和devise-jwt
对登录请求进行身份验证。认证成功后,我在响应头中分配了一个Authorization令牌,然后重定向到after_sign_in_path
。现在,在浏览器上,我可以看到已收到令牌,但是在将其发送到浏览器之前,我还需要控制器操作中发出的相同令牌。
在控制器动作(负责呈现同一视图)中解析/记录响应头(response.headers
)时,我根本看不到授权密钥。
替代: 使用javascript尝试过,但事实证明,您只能解析javascript发起的请求的响应标头。此link声明相同
有没有办法我可以做到这一点,而不是诉诸于使用ajax请求方法?
答案 0 :(得分:0)
Rails创建了一个ActionCongtroller::Base#response对象,其中包含控制器正在构建的HTTP响应的所有信息。这是ActionDispatch::Response的实例。有多种方法可以访问响应标头并与之交互。 response.headers
是您要添加自定义响应数据的地方。