前提・実現したいこと
【実現したいこと】
Facebook認証でログインできるようにしたいです。
【前提】
・Rails tutorialの内容を実装済みです。
・以下の記事などを参考にFacebook認証を実装しようとしています。
RailsでFacebook認証する(Devise + OmniAuth)
railsでomniauth-facebookを使ってFacebookログインを実装する方法
・環境はRails 6.0、Ruby 2.6.3、Mac OSで、基本最新のGemで実装しています。
発生している問題・エラーメッセージ
実装していたら、以下のエラーが出て先に進めていません。
ArgumentError in Users::OmniauthCallbacksController#facebook wrong number of arguments (given 0, expected 1)
該当のソースコード
User.rbの「self.form_omniauth(auth)」の引数が渡されてないよーというのはなんとなくわかるのですが、いまいちどうしたら渡せるのかよく理解できていないのが現状です。
Ruby
1def self.from_omniauth(auth) 2 where(provider: auth.provider, uid: auth.uid).first_or_create do |user| 3 user.email = auth.info.email 4 user.password = Devise.friendly_token[0, 20] 5 user.name = auth.info.name # assuming the user model has a name 6 user.image_name = auth.info.image # assuming the user model has an image 7 # If you are using confirmable and the provider(s) you use validate emails, 8 # uncomment the line below to skip the confirmation emails. 9 # user.skip_confirmation! 10 end
試したこと
「omniauth」、「devise」、「ArgumentError」、「Facebook認証」などの情報を組み合わせてエラー内容に合う情報を検索しましたが、いまいち理解できませんでした。
これを見たらわかるかもという記事を紹介していただくだけでも構いませんので、知恵を貸してほしいです。お手数お掛けしますが、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー