TIS ENGINEER NOTE

ITエンジニアのためのキャリア向上ノウハウブログ

プログラミング

【Rails5】deviseでOmniauthが上手く動かなかったときのメモ

更新日:

入れたgemは

gem 'omniauth'
gem 'omniauth-facebook'
gem 'omniauth-twitter'

http://ruby-rails.hatenadiary.com/entry/20140805/1407200400

http://qiita.com/kami_zh/items/94aec2d94a2b4e9a1d0b

基本的にはこのあたりの参考に進めていきました。

Twitterの認証画面まではすんなりといったのですが、サイト側に戻ってきた時に

まずはaction『twitter』が見つからないとのエラーが

The action 'twitter' could not be found for Devise::OmniauthCallbacksController

原因を探している中、rake routesしてみると、

user_facebook_omniauth_authorize GET|POST /users/auth/facebook(.:format) devise/omniauth_callbacks#passthru
user_facebook_omniauth_callback GET|POST /users/auth/facebook/callback(.:format) devise/omniauth_callbacks#facebook
user_twitter_omniauth_authorize GET|POST /users/auth/twitter(.:format) devise/omniauth_callbacks#passthru
user_twitter_omniauth_callback GET|POST /users/auth/twitter/callback(.:format) devise/omniauth_callbacks#twitter

devise/omniauth_callbacks?

作業進めていく中でルーティングが参考サイトと異なるなあとは思っていたのですが、コントローラーにdeviseなんてディレクトリはない。

もしかしたらdeviseカスタマイズでコントローラー生成していたのが原因かなーと思い、

route.rbに

devise_for :users, :controllers => {
# 省略
:omniauth_callbacks => "users/omniauth_callbacks"
}

を追記

すると別エラー。アクションは無事見つかった模様です。

ActiveModel::ForbiddenAttributesError

参考にしたサイトからコピペしてきたuser.rb

where(auth.slice(:provider, :uid)).first_or_create do |user|

の部分が引っかかっている模様

ちょうどドンピシャな質問をしている掲示板を見つけました。

http://stackoverflow.com/questions/25399414/rails-4-1-5-omniauth-strong-parameters

ここの回答と同様の対応をしたところ無事に新規登録画面に戻ってきてくれました。

Railsのルーティングや規則に不慣れなことから来る初歩的なミスでした…

自分と同様の実装をお考えで、同様の事象に悩まされている方のお役に立てればと思います。

閲覧いただき、ありがとうございました。

こちらの記事もオススメ

https://tisnote.com/ruby-on-rails-memorandum/

よく読まれている記事

エンジニア独立

2019/5/29

正社員エンジニアという働き方を批判してみる

今回はちょっと過激めなタイトルを飾ってみました。 僕はエンジニアとして、正社員・派遣社員・フリーランスとして働いて来ていますが、その中でどうしても正社員という働き方が特別もてはやされているのかが分かりません。 とはいえ有名理系大卒で競争力激高な大手企業のスーパーエンジニアだったり、激レアホワイト企業に勤めている人に反論されたらぐうの音も出ないというか、論点が変わってきてしまうので、以下の条件に当てはまるような正社員エンジニアに向けてのお話ということで読み進めていただければなと。 20代で年収300万円以下 ...

続きを読む

エンジニア独立

2019/4/15

文系出身エンジニアが26才でフリーランスになった感想

こんにちは。フリーランスエンジニアのてぃすです。 フリーランスエンジニアということは、つまりエンジニアとして独立しているということになり、すごい敷居が高い印象を持っている人が多いです。 けど僕は文系大学出身かつ、プログラミングも社会人になって一年弱ほど経ってから初めて経験しました。 そんな経験の浅い僕が滞りなくフリーランスエンジニアとして活動して、報酬についてもある程度満足のいく額を得ることができています。 最近はフリーランスという働き方が脚光を浴びてきて、気にはなっている。けどなかなか踏み出す勇気が出な ...

続きを読む

エンジニア独立

2019/3/30

プログラマーはIT土方なのか

プログラマーという働き方について、調べたときに必ずといって良いほど出てくる単語であるIT土方。 実際に土木関係に従事する人たちがどのような労働環境におかれているかは置いといて、基本的には以下のような状況を揶揄して使われている言葉です。 毎日終電まで残業させられる 納期のプレッシャーに追われる 忙しいのに低賃金 とにかく辛い そういった過酷な環境であるから、『プログラミングを楽しいと思っていたり、理数系の才能がある人間じゃなければ絶対になるな』という言葉もよく聞きます。 今回はプログラマーが世間でIT土方と ...

続きを読む

エンジニア入門

2018/1/21

プログラミング言語としてのJavaについて

こんにちは、フリーランスエンジニアのてぃすです。 エンジニア・プログラマは年収1000万を現実的に目指せる職業として最近特に注目を集めている職業です。 今いる業界の将来性に不安を感じ脱出してきた人たちも、どんどんエンジニア・プログラマという働き方に集結しています。 ある程度エンジニア・プログラマという職業について調べていると、どのプログラミング言語を習得すればいいのか、という疑問が出てくるタイミングがあると思います。 どのプログラミング言語を選べばいいか、という疑問について調べてみると最近ではJava・R ...

続きを読む

エンジニア入門

2019/4/15

エンジニアは勉強し続けなければいけない職業なのか

こんにちは。フリーランスエンジニアのてぃすです。 最近は就職・転職する際にエンジニアを選択肢に含める人が増えてきています。 しかしエンジニアという職業を候補にあげるにあたって、 エンジニアは働きながら勉強し続けなければいけないのではないか? という疑問もよく見聞きします。 そこで今回はフリーランスエンジニアとして活動している僕の視点からこの疑問についての答えを説明していこうと思います。 結論 先に結論を述べると、 エンジニアは勉強し続けなければいけないのか? という疑問の答えはNOです。 決してエンジニア ...

続きを読む

-プログラミング
-,

Copyright© TIS ENGINEER NOTE , 2020 All Rights Reserved Powered by AFFINGER5.