#CSRF
CSRF(クロスサイトリクエストフォージェリ)とは、Webアプリケーションの脆弱性を利用したサイバー攻撃の一種
例:悪意のある第三者が用意したリンクをサービスの利用者が踏んだ際に、本人の意図しない操作が行われてしまう
詳しくは、https://qiita.com/wanko5296/items/142b5b82485b0196a2da
#CSRFが引き起こすエラー
CSRF対策として、サーバはクライアントに対してトークンを設定します。
リクエストが発動した際に、クライアントのトークンとリクエストのトークンを確認し、攻撃者からのリクエストを防ぐことができます。
通常、GET以外のリクエストではセキュリティトークンが必須となっています。
Railsの場合、
protect_from_forgery with: :exception
で、アプリ内のフォームに対してトークンを発行しています。
しかし何らかのエラーでトークンが一致しない場合、リクエストが正常に動作しない場合があります。
(以下のようなエラーが起きる)
Can't verify CSRF token authenticity.
#対応
メソッドのあるコントローラー内に、以下の記述を追記します。
skip_before_action :verify_authenticity_token
この記述で、トークンの比較自体がスキップされるのでリクエストは動作するはずです。
しかし、トークンの比較をスキップするとのことなのでセキュリティ的にはどうなのかなとは思いますが、、
(詳しい方がいれば教えていただけると嬉しいです)