Ruby on Rails を API として、フロントエンドとの間で通信をしようとしたところ、 セッションが保存されなかったり、Can't verify CSRF token authenticity というエラーが出てくることがあります。 多くのページでは解決方法として CSRF 対策をあきらめていますが、 ここではちゃんとしたセキュアな解消方法について書いていきます。 エラーも出ないがセッションが保存されないときこの記事にもあるように、CSRF という攻撃からサイトを守るために、 Rails はリクエストが不正でないか確認できないとセッションを空にしてしまいます。 エラーも出ないのでわかりづらいですが、 application_controller.rb に protect_from_forgery with: :exception を記述すると Can't verify CSRF
![【Rails API】CSRF 対策をあきらめないでちゃんとやる | みどりみちのブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/fc7b952f42b902d5842a6d40420ddff86907e3de/height=288;version=1;width=512/https%3A%2F%2Fimages.ctfassets.net%2Fl7rmedbaynfb%2F41qTGwiuEOn3Eg9rkTEJi2%2F5eb9902d03de6fdd7fb58dee8465141c%2F_index.jpg)