在Rails控制器中解析HTML请求的响应标头

时间:2019-01-19 04:20:23

标签: javascript ruby-on-rails ruby devise jwt

是否可以访问通过ruby(在控制器中)发送到浏览器的HTML请求的响应标头?

我在做什么? 我正在尝试在Rails应用中使用devisedevise-jwt对登录请求进行身份验证。认证成功后,我在响应头中分配了一个Authorization令牌,然后重定向到after_sign_in_path。现在,在浏览器上,我可以看到已收到令牌,但是在将其发送到浏览器之前,我还需要控制器操作中发出的相同令牌。

在控制器动作(负责呈现同一视图)中解析/记录响应头(response.headers)时,我根本看不到授权密钥。

替代: 使用javascript尝试过,但事实证明,您只能解析javascript发起的请求的响应标头。此link声明相同

有没有办法我可以做到这一点,而不是诉诸于使用ajax请求方法?

1 个答案:

答案 0 :(得分:0)

Rails创建了一个ActionCongtroller::Base#response对象,其中包含控制器正在构建的HTTP响应的所有信息。这是ActionDispatch::Response的实例。有多种方法可以访问响应标头并与之交互。 response.headers是您要添加自定义响应数据的地方。