Topics

トピックスお知らせやちょっと役に立つ読みものなど

Loading...
開発ブログ

2022.05.29

最終更新:2026.02.21

【devise】OmniAuthを使用したTwitterログイン認証でハマったら試すこと【Ruby on Rails】

現在開発中のWEBサービスにTwitter認証機能を付けるべくこちらのページを参考にさせていただきながら実装していたのですが、なかなかうまくいきませんでした。

[*Rails*] deviseの使い方(rails6版)

ですが色々試していたら解決したので、備忘録としてメモします。

ログインリンクを押すと画面が真っ白になってしまう場合

恐らくリンク先の指定が間違っています。

new_user_registration_path」と指定すればよいと書いているサイトもありますが、これではだめっぽいです。

下記のように、プロバイダ毎に専用のURLが発行されているようなので、こちらを使うと解決する可能性があります。

<%= link_to "Sign in with Twitter", user_twitter_omniauth_authorize_path %>
<%= link_to "Sign in with Facebook", user_facebook_omniauth_authorize_path %>

 

Not found. Authentication passthru.と表示されてしまう場合

まずはCSRF対策のgemをインストールします。

gem "omniauth-rails_csrf_protection"

 

そして、OmniAuth 2.0以上を使用している場合、認証ページへのリンクを以下のような記述にする必要があるそうです。

<%= link_to 'ログイン', user_twitter_omniauth_authorize_path, method: :post %>

こんな感じで、llink_toの後ろにmethod: :postを付ける必要があるみたいです。

 

これでも解決しない場合、APIキーの指定が誤っている可能性があります。

 

ちなみに、上記の解決方法はdeviseのgemが置いてあるリポジトリのwikiに載っていました。

実装でつまづいたら、まずは公式のドキュメントを見に行くほうが早い場合もあるのでおすすめです。ぜひ。

https://github.com/heartcombo/devise/wiki/OmniAuth%3A-Overview

Writerこの記事をかいたひと

みなせしゅん

ディレクター/エンジニア/デザイナー/

1994年生まれ、千葉県育ち。2019年より個人事業主として活動。
プランニングやディレクション、フロントエンドやバックエンドのコーディング・プログラミング、WEBデザインからグラフィックデザインまで、わりとなんでもやる人。

Related Topics関連記事

【初心者向けSourcetree】グローバル無視設定ファイルを作成しますか?と聞かれたら【Git】

開発ブログ

2020.08.07

【初心者向けSourcetree】グローバル無視設定ファイルを作成しますか?と聞かれたら【Git】

【iOS対応】背景を固定する際に「background-attachment:fixed」が効かない問題への対処法

開発ブログ

2025.06.23

【iOS対応】背景を固定する際に「background-attachment:fixed」が効かない問題への対処法

Windows環境からAWS EC2にRails6 + PostgreSQLのWEBアプリをデプロイする際ハマったことまとめ

開発ブログ

2021.01.10

Windows環境からAWS EC2にRails6 + PostgreSQLのWEBアプリをデプロイする際ハマったことまとめ

WEBサイトリニューアルの手順や流れを実際の事例に沿って紹介してみた(ver. 2021)

開発ブログ

2021.06.10

WEBサイトリニューアルの手順や流れを実際の事例に沿って紹介してみた(ver. 2021)

< PrevBack to listNext >