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/4/28

収入を上げたいWebエンジニアが学習するべき技術

どうも、フリーランスエンジニアのてぃすです。 エンジニアの収入は技術に比例して上がるわけではない。というのはこのブログでよく言っていることです。 しかし技術と収入の因果関係はもちろん0ではありません。 そこで今回はITエンジニアとして働いていく上で収入アップに繋がる可能性の高い技術をピックアップして紹介していきます。 今やっている仕事で収入に限界を感じている 新しい技術を学びたいけど何を学ぶのが効率がいいのか知りたい というエンジニアは要チェックです。 技術によって収入が上がる要因 まず収入が上がる技術と ...

続きを読む

エンジニア入門

2019/5/30

エンジニアにとっての理想的な職場とは

こんにちは、フリーランスエンジニアのてぃすです。 この記事を読んでくださっているということはITエンジニアかと思いますが、皆さんエンジニアとして働くならどんな環境で働きたいですか? スーツ勤務が嫌、言われたことをモクモクとこなすのが好き、など人によって理想として掲げる働き方って大きく異なります。 僕はこれまでエンジニアとして、SES企業やノリノリのベンチャー企業、起業したてのスタートアップ企業における業務を経験してきました。 今回は僕の経験や周囲のエンジニアから聞いた話を交えて、エンジニアにとっての働き方 ...

続きを読む

エンジニア独立

2019/5/29

プログラマーという働き方を見限る前に見ておくべき記事

プログラマーとかSEってちょっと前まで最先端の働き方って感じで世間でもてはやされていましたが、今ではブラック業界の代表格と言われるようになっていますよね。エリート社畜の巣窟とか。 実際SIer系の案件であったり、システム会社を名乗る派遣企業によって希望を持って入ってきた若者が食いつぶされてきたわけですから、当然の帰結ともいえます。 実際僕がこれまで正社員として働いてきた会社も、みなし残業という名の残業未払いであったり、都内にも関わらず勤続2年目で手取り17万円とかいう扱いを平気でやってきました。鬼畜の所業 ...

続きを読む

エンジニア独立

2019/5/29

エンジニア歴2年の僕がギークスジョブでフリーランスを目指してみた

ぼちぼちの偏差値の文系大学を卒業後、パッケージ運用系のIT企業に就職。9か月で退職。 その後特定派遣会社の正社員として働いてきた僕がなぜフリーランスを目指す気になったのか。 一番の理由はズバリ、お金が稼ぎたかったから。 正確にはもっと効率よくお金を稼ぎたかったからです。 こんな会社もう嫌だ・・・ 現在僕は正社員として2年以上継続して現場に赴き、プログラミングの業務に従事してきましたが、全く給料が上がらない。 ぶっちゃけると手取りが20万円に届かないレベル。ボーナスもお小遣い程度なので年収も悲惨。 給与明細 ...

続きを読む

エンジニア入門

2019/4/15

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

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

続きを読む

-プログラミング
-,

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