form_authenticity_token が params[:authenticity_token] と一致しないのはどのような状況ですか?
検証されていないリクエストがアプリに送られてくるのを確認していたので、form_tag をオーバーライドしてデバッグ情報を出力しました。
form_auth_token: #{form_authenticity_token.inspect}
session_csrf_token: #{session['_csrf_token'].inspect}
params: #{params.inspect}
そして、セッションが form_auth_token に一致する適切なトークンを持っていることを示す出力を得ましたが、送信されたパラメータはauthenticity_tokenと一致しませんでした:
form_auth_token: "gckttsVeq2XvTBwQX3BaInWCivIhvR/mYBWjs119eb8="
session_csrf_token: "gckttsVeq2XvTBwQX3BaInWCivIhvR/mYBWjs119eb8="
params: {"utf8"=>"✓", "authenticity_token"=>"+5IINl7vEh1jJJwP+RiXXws+4kEwM3fpJsCOn+gZ0AA=" ...
定義上、params[:authenticity_token] は form_authenticity_token と同じになると思いました。
- これを間違った方法でデバッグしていますか?
- 何が原因でしょうか?