いつもお世話になっております。
RubyonRailsで開発しているサイトのFacebookログインに苦戦しています。
ボタンを押すと、下記のような真っ白なページが表示されます。
・開発環境:Ruby on Rails 5.0.0.1
下記のURLを参考に作ってみました。
http://qiita.com/shunwitter/items/c5290cf66a4ab7c9ad72
###該当するソースコード
・モデル(user.rb)
Ruby
1・・・ 2 # Facebookログイン 3 def self.from_omniauth(auth) 4 # emailの提供は必須とする 5 user = User.where('email = ?', auth.info.email).first 6 if user.blank? 7 user = User.new 8 end 9 user.uid = auth.uid 10 user.name = auth.info.name 11 user.email = auth.info.email 12 user.image = auth.info.image 13 user.oauth_token = auth.credentials.token 14 user.oauth_expires_at = Time.at(auth.credentials.expires_at) 15 user 16 end 17・・・
・モデル(omniauth.rb)
Ruby
1・・・ 2Rails.application.config.middleware.use OmniAuth::Builder do 3 provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET'] 4end 5・・・
・ルーティング(routes.rb)
Ruby
1 get '/auth/:provider/callback', to: 'users#create', as: :auth_callback 2 get '/auth/failure', to: 'users#auth_failure', as: :auth_failure
・コントローラー(users_controlelr.rb)
Ruby
1 def create 2 if env['ominiauth.auth'].present? 3 # Facebookログイン 4 @user = User.from_omniauth(env['omniauth.auth']) 5 if @user.save(context: :facebook_login) 6 fb = "Facebook" 7 sign_in @user 8 flash[:success] = "#{fb}ログインしました。" 9 redirect_to url 10 else 11 if fb.present? 12 redirect_to auth_failure_path 13 else 14 render 'new' 15 end 16 end 17 else 18 # 通常サインアップ 19 @user = User.new(user_params) 20 if @user.save 21 @user.send_activation_email 22 flash[:info] = "メールアドレスに確認メールをお送りしましたのでご確認ください。" 23 redirect_to root_url 24 else 25 render 'new' 26 end 27 end 28 end
すみませんが、どうぞよろしくお願いいたします。
あなたの回答
tips
プレビュー