状況
Railsでウェブアプリケーションを開発しており、DeviseとOmniauthでFacebookログインを作りました。
検証環境(cloud9で開発中)では、facebook認証後、必要な情報を取得してユーザーを作成するところまでちゃんと動いているのですが、本番環境(さくらVPS)では、認証は成功するが、callbackが呼ばれずにユーザー作成ができない状況です。
どのような問題が考えられるのでしょうか。検証環境では動いているのでソースコードの問題ではなく、facebookアプリ側の設定の問題かもと思い色々調べたのですが検討がつかずでして。。
環境
(本番環境)
ruby 2.3.0
Rails 5.0.1
情報不足しておりましたら追記いたします。
ログ
検証環境での認証時のログ
Started GET "/users/auth/facebook" for 111.222.33.44 at 2017-12-19 22:41:52 +0000 Cannot render console from 111.222.33.44! Allowed networks: 111.0.0.1, ::1, 127.0.0.0/127.255.255.255 I, [2017-12-19T22:41:52.716185 #3219] INFO -- omniauth: (facebook) Request phase initiated. Started GET "/users/auth/facebook" for 111.222.33.44 at 2017-12-19 22:41:53 +0000 Cannot render console from 111.222.33.44! Allowed networks: 111.0.0.1, ::1, 127.0.0.0/127.255.255.255 I, [2017-12-19T22:41:53.546113 #3219] INFO -- omniauth: (facebook) Request phase initiated. Started GET "/users/auth/facebook/callback?code=VERYVERYLONGSTRING_VERYVERYLONGSTRING_VERYVERYLONGSTRING" for 111.222.33.44 at 2017-12-19 22:41:53 +0000
本番環境での認証時のログ
エラーを吐かない。callbackが呼ばれていない。。
Started GET "/users/auth/facebook" for 223.217.13.23 at 2017-12-20 07:42:16 +0900 Started GET "/users/auth/facebook" for 223.217.13.23 at 2017-12-20 07:42:16 +0900 Started GET "/" for 111.222.33.44 at 2017-12-20 07:42:16 +0900
omniauth_callback_controller.rb
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController def facebook @user = User.from_omniauth(request.env['omniauth.auth']) if @user.persisted? sign_in_and_redirect @user, event: :authentication set_flash_message(:notice, :success, kind: 'Facebook') if is_navigational_format? else session['devise.facebook_data'] = request.env['omniauth.auth'] redirect_to new_user_registration_url end end def failure redirect_to root_path, alert: 'Facebook認証に失敗しました。' end end
routes.rb
Rails.application.routes.draw do devise_for :users, controllers: { omniauth_callbacks: 'users/omniauth_callbacks', registrations: 'users/registrations', sessions: 'users/sessions' }
これが状況的には近そうにみえる。
https://stackoverflow.com/questions/38868738/devise-with-omniauth-facebook
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/20 00:38
2017/12/20 00:44
2017/12/20 14:16
2017/12/20 23:07
2017/12/20 23:14