初心者です。Ruby on Railsを使ってログイン時にFacebook認証させるアプリをローカルで開発しているのですが、認証時に「URLを読み込めません: このURLのドメインはアプリのドメインに含まれていません。」というエラーが表示されてしまい、認証を完了することができません。どのように設定を変更すればよいか、どなたかご教示頂けますと幸いです。
前提条件・しようとしていたこと
- gem 'facebook-omniauth', 'devise'を使って、ユーザーがログインする際にfacebook認証をさせる
- この記事を参考に、gem 'thin'を使ってhttps://localhost:3001/ からruby on railsを実行
- ユーザーはcolleaguesというテーブルに格納されている
各種コードやfacebook appの設定は以下の通りです。
- Colleagueモデルの構造:
id: integer email: string encrypted_password: string reset_password_token: string reset_password_sent_at: datetime remember_created_at: datetime sign_in_count: integer current_sign_in_at: datetime last_sign_in_at: datetime current_sign_in_ip: string last_sign_in_ip: string created_at: datetime updated_at: datetime provider: string uid: string name: string
- トップページ
~~省略~~ <%= link_to "Sign in with Facebook", colleague_facebook_omniauth_authorize_path %>
- app/controllers/colleagues/omniauth_callbacks_controller.rb
class Colleagues::OmniauthCallbacksController < Devise::OmniauthCallbacksController include Devise::Controllers::Rememberable def facebook @colleague = Colleague.from_omniauth(request.env["omniauth.auth"]) if @colleague.persisted? sign_in_and_redirect @colleague, 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_colleague_registration_url end end def failure redirect_to root_path end protected def after_sign_in_path_for(resource) request.env['omniauth.origin'] || stored_location_for(resource) || root_path end end
症状
以下のようにエラーが表示されていまい、処理を完了することができません。
- Terminal
$ bundle exec thin start --ssl -p 3001 Using rack adapter Thin web server (v1.7.2 codename Bachmanity) Maximum connections set to 1024 Listening on 0.0.0.0:3001, CTRL+C to stop I, [2018-04-21T20:53:32.533982 #70381] INFO -- omniauth: (facebook) Request phase initiated. I, [2018-04-21T20:53:32.955260 #70381] INFO -- omniauth: (facebook) Request phase initiated.
おそらくfacebook appの設定を誤っているのかと思うのですが、どのように対応して良いかわかりません。
どなたか教えて頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。