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/15

僕がITエンジニアとして独立しなかった場合の損失を計算してみた結果

どうも、フリーランスエンジニアのてぃすです。 僕はエンジニア歴が2年くらい経った頃に、月収が20万円を下回るような状態でした。 その後独立し、ほどなくして月収は100万円にまで到達しました。 実に5倍ほど収入が跳ね上がったことになります。 正直もう少し早く独立していればなぁと思っています。 今だからこそ考えられることですが、戦略さえしっかりしていれば、1年くらいは独立を早めることは可能だったと思うので。 こういう後悔というか振り返りをするたびに思うのですが、世の中僕以上に行動を遅らせることによる損失を食ら ...

続きを読む

エンジニア独立

2019/4/1

ITエンジニアがTwitter運用に本腰を入れ始めた話

どうも、フリーランスエンジニアのてぃすです。 私事ですが、最近Twitter運用を本格的に初めてみました。 以前からITエンジニアとしてのアカウントは持っていたのですが、キャリア関連の情報を発信していくために新しくアカウントを開設しました。 そこで今日はITエンジニアとして活動している僕がTwitter運用を本格化するに至った理由と今後の方針についてお話していこうと思います。 Twitterを頑張ってみようと思った理由 Twitterの運用を本格化して行くということは、当然他のことができる時間を削るわけで ...

続きを読む

エンジニア独立

2019/4/28

月80万円も目指せるフロントエンドエンジニアの魅力

どうも、フリーランスエンジニアのてぃすです。 ITエンジニアといえば、JavaやRubyを駆使するサーバーサイドエンジニアの方がイメージとして強いですよね。 ただWeb系で活躍するエンジニアには他にもフロントエンドエンジニアという働き方があります。 今日はこのフロントエンドエンジニアについて、 よくある誤解 どれくらい稼げるのか どうすればなれるのか 将来性 キャリアアップのコツ などの観点からお話していきます。 フロントエンドエンジニアとは フロントエンドエンジニアとは、簡単に言えばユーザーが操作する画 ...

続きを読む

エンジニア独立

2019/4/28

ITエンジニアが給与上げるために出来ることは限られている

どうも、フリーランスエンジニアのてぃすです。 今ITエンジニアってかなり稼げる職種として知られてきていますが、中にはその影響を感じられていない人もいるんじゃないかと思います。 ぼくは2年の間に正社員、派遣、フリーランスと渡り歩いて、月収は20万→40万→80万->100万と変動してきました。 その中でITエンジニアとして収入を上げるために出来ることがなんなのかが少しずつ見えてきました。 今回はその経験から感じたITエンジニアが収入を上げるために出来ることについて分析・解説していきます。 会社の中で給 ...

続きを読む

エンジニア独立

2019/4/23

エンジニア派遣でキャリアを積んで高収入を目指す

エンジニアとして採用面談を受けたことのある人なら分かると思うのですが、面談の時に最も重要視されるポイントは業務経験です。 もちろん普段の個人学習や、技術への関心などでフォローできる面もありますが、一番見られるのはどんな技術を使って、どんな業務を行ってきたかという点なんですよね。 採用する側もプロダクトの正否を左右する立場として責任を負っているわけですから当然です。 そんな時、良質な職務経験をどのように積むことができるか、というのがポイントになってきます。 今回はキャリア構築のための、派遣エンジニアという選 ...

続きを読む

-プログラミング
-,

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