【问题标题】:Parse response headers of an HTML request in rails controller在 Rails 控制器中解析 HTML 请求的响应标头
【发布时间】:2019-06-13 07:28:04
【问题描述】:

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

我在做什么? 我正在尝试在 rails 应用程序中使用 devisedevise-jwt 验证登录请求。身份验证成功后,我在响应标头中分配了一个授权令牌并重定向到after_sign_in_path。现在在浏览器上我可以看到收到的令牌,但是我还需要在控制器操作中发出相同的令牌,然后才能进入浏览器。

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

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

有没有一种方法可以实现这一点,而不是求助于使用 ajax 请求方法?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 嘿,谢谢,但我一直在使用同一个对象来查找令牌,但是对象中没有令牌,但它总是到达浏览器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多