Deviseとomniauth
随分と前の話になりますが…
CSRF脆弱性 CVE-2015-9284の対応に伴う変更が入りomniauth v2から、 サービスプロバイダーのサービス認可画面へリダイレクトするエンドポイントPOSTのみに変更となりました。
対応策
# 以下を導入する
gem "omniauth-rails_csrf_protection"
# もしくは、CVE脆弱性のあるバージョンに落とす
gem 'omniauth', '~> 1.9', '>= 1.9.1'
個人的には、バージョンを落とすよりも正しい手順を踏んだほうが脆弱性対応できて良いと思います。
今回のサンプルとして、GitHubリポジトリにサンプルコードをアップロードしています。
こちらは、twitterや他の認証にも使えると思いますので、よければ参考にしてみてください!