質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

0回答

1006閲覧

herokuでgoogle認証によるログインをしたいです

pengin-fes2

総合スコア4

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2022/01/11 08:11

前提・実現したいこと

Railsアプリをherokuでデプロイし、google認証によるログインをさせたいです。

発生している問題・エラーメッセージ

ローカルでは実装済みで、問題なく動作しています。
herokuへのデプロイも済んでいます。

deviseを使っており、herokuでもgoogle認証ではない通常のログインやその他ページは問題なく動作しています。

google認証でログインしようとすると、

イメージ説明

この画面になります。

該当のソースコード

Logは以下のようになっています。

2022-01-11T08:03:32.227417+00:00 heroku[router]: at=info method=POST path="/users/auth/google_oauth2" host=small-diary2911.herokuapp.com request_id=7d003550-629c-4788-8cfd-fc5f1cb3be26 fwd="219.115.23.228" dyno=web.1 connect=0ms service=2ms status=302 bytes=1583 protocol=https 2022-01-11T08:03:32.224830+00:00 app[web.1]: I, [2022-01-11T08:03:32.224765 #4] INFO -- : [7d003550-629c-4788-8cfd-fc5f1cb3be26] Started POST "/users/auth/google_oauth2" for 219.115.23.228 at 2022-01-11 08:03:32 +0000 2022-01-11T08:03:32.225063+00:00 app[web.1]: I, [2022-01-11T08:03:32.225033 #4] INFO -- omniauth: (google_oauth2) Request phase initiated. 2022-01-11T08:03:32.735388+00:00 app[web.1]: I, [2022-01-11T08:03:32.735310 #4] INFO -- : [07ed9936-26cf-4d75-a907-5801ffa2f32f] Started GET "/users/auth/google_oauth2/callback?state=f237f46a25f15ef88b54e024caafba18e9810bf92507ebb4&code=4%2F0AX4XfWgh99MD28AuV6bmhcx-34dxxLBW7TBIvuctt8iQKBX6tWKG2sSU7W0OLYpMe47azA&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&authuser=0&prompt=none" for 219.115.23.228 at 2022-01-11 08:03:32 +0000 2022-01-11T08:03:32.735623+00:00 app[web.1]: I, [2022-01-11T08:03:32.735591 #4] INFO -- omniauth: (google_oauth2) Callback phase initiated. 2022-01-11T08:03:32.815800+00:00 app[web.1]: I, [2022-01-11T08:03:32.815712 #4] INFO -- : [07ed9936-26cf-4d75-a907-5801ffa2f32f] Processing by Users::OmniauthCallbacksController#google_oauth2 as HTML 2022-01-11T08:03:32.815822+00:00 app[web.1]: I, [2022-01-11T08:03:32.815794 #4] INFO -- : [07ed9936-26cf-4d75-a907-5801ffa2f32f] Parameters: {"state"=>"f237f46a25f15ef88b54e024caafba18e9810bf92507ebb4", "code"=>"4/0AX4XfWgh99MD28AuV6bmhcx-34dxxLBW7TBIvuctt8iQKBX6tWKG2sSU7W0OLYpMe47azA", "scope"=>"email profile https://www.googleapis.com/auth/userinfo.email openid https://www.googleapis.com/auth/userinfo.profile", "authuser"=>"0", "prompt"=>"none"} 2022-01-11T08:03:32.822455+00:00 app[web.1]: I, [2022-01-11T08:03:32.822376 #4] INFO -- : [07ed9936-26cf-4d75-a907-5801ffa2f32f] Completed 500 Internal Server Error in 7ms (ActiveRecord: 3.4ms | Allocations: 343) 2022-01-11T08:03:32.822976+00:00 app[web.1]: F, [2022-01-11T08:03:32.822937 #4] FATAL -- : [07ed9936-26cf-4d75-a907-5801ffa2f32f] 2022-01-11T08:03:32.822977+00:00 app[web.1]: [07ed9936-26cf-4d75-a907-5801ffa2f32f] ActiveRecord::StatementInvalid (Mysql2::Error: Table 'heroku_c4facd89bb1c437.sns_credentials' doesn't exist): 2022-01-11T08:03:32.822978+00:00 app[web.1]: [07ed9936-26cf-4d75-a907-5801ffa2f32f] 2022-01-11T08:03:32.822979+00:00 app[web.1]: [07ed9936-26cf-4d75-a907-5801ffa2f32f] app/models/user.rb:14:in `from_omniauth' 2022-01-11T08:03:32.822979+00:00 app[web.1]: [07ed9936-26cf-4d75-a907-5801ffa2f32f] app/controllers/users/omniauth_callbacks_controller.rb:10:in `authorization' 2022-01-11T08:03:32.822980+00:00 app[web.1]: [07ed9936-26cf-4d75-a907-5801ffa2f32f] app/controllers/users/omniauth_callbacks_controller.rb:4:in `google_oauth2' 2022-01-11T08:03:32.824364+00:00 heroku[router]: at=info method=GET path="/users/auth/google_oauth2/callback?state=f237f46a25f15ef88b54e024caafba18e9810bf92507ebb4&code=4%2F0AX4XfWgh99MD28AuV6bmhcx-34dxxLBW7TBIvuctt8iQKBX6tWKG2sSU7W0OLYpMe47azA&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&authuser=0&prompt=none" host=small-diary2911.herokuapp.com request_id=07ed9936-26cf-4d75-a907-5801ffa2f32f fwd="219.115.23.228" dyno=web.1 connect=0ms service=89ms status=500 bytes=1827 protocol=https

試したこと

承認済みのリダイレクト URIに以下を設定しており

https://small-diary2911.herokuapp.com/users/auth/google_oauth2/callback

またHeroku configには以下を設定しています。

heroku config:set GOOGLE_APP_ID='自分のID' heroku config:set SECRET_KEY_BASE='自分のKEY'

以上を試しても結果は変わらずエラーになってしまいます。

ご教授いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問