Ich habe mit Rest-Client gespielt, um auf eine Rails-App zuzugreifen, die ich geschrieben habe. Ich habe ein schnelles Skript geschrieben, um mich einzuloggen und eine Postanfrage zu stellen. Alles funktioniert, aber ich musste um die Tatsache arbeiten, dass kein authenticity_token serviert wird, wenn Sie ein Formular in json anfordern. Ich musste eine normale HTML-Anfrage in anderen machen, um das authenticity_token zu bekommen, und dann dieses in den JSON einbinden, den ich als Teil meiner Postanfrage eingereicht habe. Im Grunde habe ich ein schnelles, schmutziges Skript wie das unten stehende
%Vor%Es gibt die Option, den CSRF-Schutz für JSON-Anfragen abzuschalten, aber das möchte ich lieber nicht tun. Ich könnte die Mechanisierungsroute oder etwas ähnliches machen und dann würde ich mir keine Sorgen um JSON-Anfragen mit CSRF machen, aber ich wollte einfach nur mit dem Rest-Client rumspielen
Ich glaube, ich bin nur neugierig zu wissen, ob es einen Grund gibt, warum kein authenticity_token für json-Anfragen serviert wird, und ich frage mich auch, ob es eine bessere Möglichkeit gibt, das Token-Problem zu lösen als die ziemlich hacky Vorgehensweise hier aufgenommen
Fügen Sie in Ihrem app/views/products/new.json.jbuilder
Folgendes hinzu:
Dies fügt einen Schlüssel "authenticity_token"
ein, wobei der Wert das Token ist, also erhalten Sie in Ihrem json_response
auch das Token. Idee von diese Antwort .
Tags und Links json ruby-on-rails-3.1 csrf rest-client