0
0

More than 1 year has passed since last update.

RailsアプリでTwitter認証実装中にルーティングエラーになった時の解決法

Posted at

色々な記事を見ながらRailsアプリにomniauth-twitterを使用してTwitter認証を実装していたのですが、どういうわけかかなりハマりました。
最終的にうまく行ったのでその方法を備忘録がてら記載しておきます。

前提

諸々のバージョン

使用しているPC: MacBook Air (M1, 2020)
Railsバージョン: 6.1.4.1
Rubyバージョン: ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [arm64-darwin20]
omniauthバージョン: 2.0.4
deviseは使用していません。

最終的に参考にした記事

ハマったこと

omniauth-twitterを使用して認証を実装後、/auth/twitterにアクセスするとルーティングエラーになる

原因

(おそらく)omniauthバージョンが2以上なのにそれ用の対策をしていなかったこと

最終的にこうしたらローカルでもうまくいった

基本的な部分は参考の1番目の記事の通りに実装していますので省略します。
そこに以下を追加で実装しました。(詳細は参考の二番目の記事をご参照ください)
1.Gemfileにomniauth-rails_csrf_protectionを追加する

gem 'omniauth-rails_csrf_protection'
gem 'omniauth-twitter'

2./auth/twitterにはPOSTでアクセスする

xxx.html.erb
<%= link_to '/auth/twitter', method: :post do %>認証<% end %>

おかしな点ありましたらコメント等で指摘いただけると幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0