###実現したいこと
google認証でログイン
###現状報告
1、LINE認証では同じメソッド(ダミーのemail生成メソッド除く)でアカウント登録、ログインはできております。
2、google認証でアカウント登録は行えております。
3、google認証でログインのみ行えておりません。
error
12019-05-19T02:24:05.136831+00:00 app[web.1]: F, [2019-05-19T11:24:05.136771 #4] FATAL -- : [9a6eaf79-3e99-4406-872a-841d242138a4] RuntimeError (Could not find a valid mapping for nil): 22019-05-19T02:24:05.136892+00:00 app[web.1]: F, [2019-05-19T11:24:05.136838 #4] FATAL -- : [9a6eaf79-3e99-4406-872a-841d242138a4] 32019-05-19T02:24:05.136990+00:00 app[web.1]: F, [2019-05-19T11:24:05.136939 #4] FATAL -- : [9a6eaf79-3e99-4406-872a-841d242138a4] app/controllers/users/omniauth_callbacks_controller.rb:46:in `google_oauth2' 42
OmniauthCallbacksController
1 def google_oauth2 2 @auth = request.env['omniauth.auth'] 3 @user = User.where(email: @auth[:info][:email]).first 4 if @user 5 # 既にサービスに登録していればログイン処理 6 bypass_sign_in(@user) 7 flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', kind: 'Google' 8 redirect_to user_mypage_path(@user.id) and return 9 else 10 @user = User.create( 11 provider: @auth[:provider], 12 uid: @auth[:uid], 13 remote_image_url: @auth[:info][:image], 14 name: @auth[:info][:name], 15 email: @auth[:info][:email], 16 password: Devise.friendly_token[0, 20], 17 ) 18 bypass_sign_in(@user) 19 flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', kind: 'Google' 20 # ログインさせマイページに遷移 21 redirect_to user_mypage_path(@user.id) and return 22 end 23 end
他に必要な情報ございましたらコメントいただきく存じます。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。