ローカル環境でツイッターのソーシャルログインを試したい
以下を参考に実装。
[Rails] Facebook/Twitter/Googleでのユーザー登録をDevise & Omniauthを使って爆速で実装する
サインアップページでトリのボタンを押すとサインインページに遷移する謎
答えはコンソールに出力されていた。
web | I, [2020-01-29T16:56:34.815302 #7] INFO -- omniauth: (twitter) Request phase initiated.
web | E, [2020-01-29T16:56:35.089161 #7] ERROR -- omniauth: (twitter) Authentication failure! service_unavailable: OpenSSL::SSL::SSLError, SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate in certificate chain)
SSL認証でエラーになっていた模様。当然だ。localhostだもの。
修正
こちらを参考に。OpenSSL::SSL::SSLError using Twitter #404
config/initailizers/devise.rb
config.omniauth :twitter, ENV['TWITTER_APP_ID'], ENV['TWITTER_APP_SECRET']
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE if Rails.env.development?
Development環境のときだけ、 OpenSSL::SSL::VERIFY_NONE
する。
無事、ツイッターログインできました。