Приложение rails подписывается на уведомления POST внешней системы (называемые контекстным брокером Orion). Я управляю отправкой json-данных & отклика процесса (ruby-> Orion).Релейная аутентификация аутентификации CSRF при входящих внешних POST-запросах
Но когда приходит запрос на уведомление, я получаю сообщение об ошибке InvalidAuthenticityToken Невозможно подтвердить подлинность CSRF-маркера ПРЕДУПРЕЖДЕНИЕ.
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-> рубин) не содержит надлежащего токен безопасности.
Может быть, я мог бы отключить protect_from_forgery, но определенно ищу один способ управления аутентификацией между этими различными службами.
Благодаря
Вы ищете нечто вроде HTTP Basic Authentication? – andrykonchin