こんにちは。小川智也です。
本日はDay25ということでRingeeのログイン機能の実装4回目を行っていこうと思います。今回はGoogleログインを仮で実装するのが主な内容となります。
最後までぜひご覧ください。

小川智也と申します。Webプログラマーな中学2年生です。
このブログでは主にITやガジェット系の情報を発信しています!
▼ おすすめリンク ▼
【 X(旧Twitter)・いえPay・個人事業主・ITパスポート・お問い合わせ 】
Googleログインの実装

まず始めに、Googleログインの実装方法を見ていきます。
Googleが公式で「google-api-php-client」というものを出してくれているので、それをComposer経由でインストールしてOAuthをすればいいみたいです。
それでは実際に行っていきます。
Composerのタイムアウト

しかし問題発生。まだコード書いてすらない
コンテナ内からComposerを叩いてgoogle/apiclientを導入しようとするもののZIP解凍がタイムアウトしインストールできません...

調べてみたところ、どうやらファイルがエグいほど多いせいでタイムアウトしてしまうみたいです。
解決方法としては上記のようにcomposer.jsonにタイムアウト時間を600秒(=10分)にしてZIPがちゃんと解凍できるようにするのがいいみたいです。ちゃんと公式のGitHubにも書いてありました。

一応タイムアウト時間を10分にはしましたが、compose installをコンテナ内じゃなくてWindowsのホストOS側でやったら2分もかからず爆速で終わりました。最初からそうしろ
Google認証用スクリプトの実装

認証用スクリプトの実装自体はこんな感じです。
GoogleのクライアントIDとシークレット、リダイレクトURLを指定して認証URLを取得後、そこに飛ばすだけでいいみたいです。
コールバックAPIの実装

次に、Google側から情報を受け取る用のコールバックAPIも実装していきます。
一様まだ仮のスクリプトなので、メルアドと姓名、プロフ画像、メール認証済みの有無を出すようにしています。
実際に動かしてみる

準備は一通り揃ったので進めていきます。
認証用のスクリプトにアクセスするとよく見るGoogleログインの画面に飛びました。リダイレクトURLとかの設定は上手く行ってるみたいです。

アカウントを選択するとこんな感じで取得する情報の確認が出てきます。

ちゃんとGoogleアカウントの情報が取得できました!思ったより簡単に情報が取れて驚きです。

最初リダイレクトURLを127.0.0.1に設定してて全然動かなかった...
まとめ
いかがだったでしょうか。今回はDay25ということで、Googleアカウントの実装をちょろっとしてみました。
次回はやっとメルアド認証とDB連携をしていきます。乞うご期待!
最後まで見ていただき、ありがとうございました。

この記事がいいと思った方はぜひ他の記事も見ていってください!
X(旧Twitter)のフォローもよろしくお願いします!


