環境
- ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [arm64-darwin20]
- Rails 6.1.4
内容
[Rails] deviseの使い方(rails6版)の記事を参考にdeviseを実装していたところTwitterで認証するところでコケた。
terminal
D, [2021-07-17T13:20:36.167758 #35278] DEBUG -- omniauth: (twitter) Request phase initiated.
W, [2021-07-17T13:20:36.168254 #35278] WARN -- omniauth: Attack prevented by OmniAuth::AuthenticityTokenProtection
E, [2021-07-17T13:20:36.168409 #35278] ERROR -- omniauth: (twitter) Authentication failure! authenticity_error: OmniAuth::AuthenticityError, Forbidden
ページの方でもエラーが発生(何書いてあるか忘れた)
解決
gemにomniauth-rails_csrf_protectionを追加する。
gemfile
gem 'omniauth-rails_csrf_protection'
よくよく調べるとomniauth:2.0
から必要になるGemだそうです