RailsでDeviseと併用してTwitter認証を実装しようとしています。
該当コードを上げます。
callback
1class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController 2 def twitter 3 callback_from :twitter 4 end 5 6 private 7 8 def callback_from(provider) 9 provider = provider.to_s 10 @user = User.find_for_oauth(request.env['omniauth.auth'])// ここが実行 11 end 12end
user
1 def self.find_for_oauth(auth) 2 user = User.where(uid: auth.uid, provider: auth.provider).first 3 unless user 4 // ここでエラー 5 user = User.create( 6 name: auth.info.name, 7 uid: auth.uid, 8 provider: auth.provider, 9 image: auth.info.image, 10 email: User.dummy_email(auth), 11 password: Devise.friendly_token[0, 20] 12 ) 13 end 14 return user 15 end
上記のモデルのUser.createでエラーが起きてしまいます。
ActiveSupport::MessageVerifier::InvalidSignature: ruby/gems/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_verifier.rb:176:in `verify'
というエラーが出てしまいます。
調べたところSecret_key_baseの部分でキーの照合が正しく行われていない場合に発生するエラーとのことなのですが、理解しきれておらず問題箇所が特定できません。
どこが間違っているのか心当たりのある方いらっしゃいますでしょうか?
お力添えいただければ幸いです。
あなたの回答
tips
プレビュー