最終的にはちゃんとできました。
他の言語にうつつを抜かしている間にRubyは3出てるし、railsは7系出てるしでまさに青天の霹靂。
ホスティングする環境によって最近使ってるdotnetをあまり使いたくなかったので、久々にrails触った。
やりたいこと
ユーザー認証まわりはCognitoにおまかせして、さっと作りたかった。
参考にさせていただきました
こちら
https://qiita.com/yhirano55/items/272125c3ce3d7873002e
ありがとうございます。
ですが動かない
最初は「OmniAuth::AuthenticityError Forbidden」が出る
これですね。
これは
gem 'omniauth-rails_csrf_protection'
を追加したら回避できます。(というかしないといけない?)
次は「ActionController::InvalidAuthenticityToken ActionController::InvalidAuthenticityToken」と出る
ここが一番はまった。
CSRFのトークンの検証とかもろもろOFFにしたりとかいろいろやった。(rails5時代の知識だけど)
でもダメ
rails6で作り直したりしてもだめ。
新しいプロジェクトを作ってちょっとずつコード実装していくとようやく原因がわかった。
config/initializers/session_store.rb
Rails.application.config.session_store :cache_store
この部分が原因だった。
(なお、そのままセッションをCookie保存だったらCookieのサイズオーバーのエラーが出る)
キャッシュ周りの設定を反映しないといけなかった
bin/rails dev:cache
を実行する。
やっぱり2メジャーバージョンも離れると勝手が違うね
最新のものを使うと情報が少ない、枯れたバージョンだとすぐにEOLになるし大変。