概要
Laraelアプリに追加でGoogleログイン機能を追加したので本番環境(Heroku)に反映させます。
https://qiita.com/u-dai/items/91df3b923dc82fed5b76
↑こちらの記事を参考にさせて頂きました。ありがとうございます。
ここからは、ローカル環境でGoogleログインが正常に動いている事を前提で進めていきます。
本番環境に反映
本番環境のURIを追加します。
http://アプリケーション名.herokuapp.com/login/google/callback
Herokuの場合はこんな感じです。
そして最も大事な環境変数を設定していきます。
記事通りに進めていくと、app/config/services.phpにて
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('APP_URL') . '/login/google/callback'
]
このように記述したと思いますが、これら3つの環境変数をHerokuに設定していきます。
% heroku config:set APP_URL=http://アプリケーション名.herokuapp.com
% heroku config:set GOOGLE_CLIENT_ID=○○◯○.apps.googleusercontent.com
% heroku config:set GOOGLE_CLIENT_SECRET=△△△△
後はデプロイすれば本番環境に反映されます。
めでたし、めでたし。
おまけ
おまけというか個人的にはこちらが本題だったりします。
ローカルで動いたGoogleログインですが、本番で動かず焦った私は何を血迷ったのか、せっかく作った認証情報を削除して作り直してしまうのです。
それによりローカルでせっかく動いたGoogleログインにて、『エラー 401: deleted_client the oauth client was deleted.』と怒られる始末⤵︎
このエラーに半日費やしてしまうわけで…。
このエラーの解決方法は
% php artisan clear-compiled
% composer dump-autoload
% php artisan optimize
googleログインで他にもエラーが出ていたのですが、これらのコマンドで直った旨をメモしていたのが功を奏しました。このエラーにも使えるとは。
ありがたや、ありがたや。