gpt4 book ai didi

ruby-on-rails - 传入外部 POST 请求的 Rails CSRF token 真实性

转载 作者:数据小太阳 更新时间:2023-10-29 09:01:37 25 4
gpt4 key购买 nike

我的 Rails 应用程序订阅了一个外部系统 POST 通知(名为 Orion context broker)。我管理发送 json 数据和处理响应(ruby->Orion)。

但是当收到通知请求时,我收到 InvalidAuthenticityToken 错误 无法验证 CSRF token 真实性警告

I, [2015-12-03T16:56:53.215991 #22189]  INFO -- : Started POST "/machine/listen" for 127.0.0.1 at 2015-12-03 16:56:53 +0000
I, [2015-12-03T16:56:53.221524 #22189] INFO -- : Processing by MachineController#listen as XML
I, [2015-12-03T16:56:53.221762 #22189] INFO -- : Parameters: {"subscriptionId"=>"5660745482ef938cd5055ae3", "originator"=>"localhost", "contextResponses"=>[{"contextElement"=>{"type"=>"Printer", "isPattern"=>"false", "id"=>"UM1", "attributes"=>[{"name"=>"temperature", "type"=>"float", "value"=>"110"}]}, "statusCode"=>{"code"=>"200", "reasonPhrase"=>"OK"}}], "machine"=>{"subscriptionId"=>"5660745482ef938cd5055ae3", "originator"=>"localhost", "contextResponses"=>[{"contextElement"=>{"type"=>"Printer", "isPattern"=>"false", "id"=>"UM1", "attributes"=>[{"name"=>"temperature", "type"=>"float", "value"=>"110"}]}, "statusCode"=>{"code"=>"200", "reasonPhrase"=>"OK"}}]}}
W, [2015-12-03T16:56:53.223637 #22189] WARN -- : Can't verify CSRF token authenticity
I, [2015-12-03T16:56:53.224191 #22189] INFO -- : Completed 422 Unprocessable Entity in 2ms (ActiveRecord: 0.0ms)
F, [2015-12-03T16:56:53.225189 #22189] FATAL -- :
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):

我了解发回 (Orion->ruby) 的消息不包含正确的安全 token 。

也许我可以禁用protect_from_forgery,但肯定会寻找一种方法来管理这些不同服务之间的身份验证。

谢谢

最佳答案

如果您知道自己在做什么,可以禁用 CSRF 保护!只要确保您没有为整个网站禁用它

在接收这些发布请求的 Controller 中使用类似 skip_before_action :verify_authenticity_token 的东西。

关于ruby-on-rails - 传入外部 POST 请求的 Rails CSRF token 真实性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34072672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com