カテゴリ: PHP 更新日: 2026/01/19

PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう

PHP の OAuth 認証(Google・Facebook ログイン)
PHP の OAuth 認証(Google・Facebook ログイン)

先生と生徒の会話形式で理解しよう

生徒

「先生、他のサイトでよく見る『Googleでログイン』とか『Facebookでログイン』って、どうやって作るんですか?」

先生

「それは『OAuth(オーオース)認証』という仕組みを使っています。PHPでも簡単に実装できますよ。」

生徒

「なんだか難しそう…。初心者でもできますか?」

先生

「もちろん大丈夫!一つずつ、やさしく説明していきましょう。」

-

1. OAuth認証ってなに?初心者でもわかる例えで解説

1. OAuth認証ってなに?初心者でもわかる例えで解説
1. OAuth認証ってなに?初心者でもわかる例えで解説

「OAuth認証(オーオースにんしょう)」は、他のサービス(GoogleやFacebookなど)にログインして、その情報を使って自分のサイトにもログインできる仕組みです。

たとえば、図書館で本を借りるときに、学校の学生証を見せて本人確認するようなイメージです。

PHPでOAuth認証を使うことで、自分のWebアプリにログイン機能を簡単に追加できます。

ここでは、PHPでGoogleログイン・Facebookログインを実装する手順をやさしく解説します。

2. 必要なものを確認しよう(初心者向けの準備)

2. 必要なものを確認しよう(初心者向けの準備)
2. 必要なものを確認しよう(初心者向けの準備)

PHPでOAuth認証を行うには、以下のものが必要です:

  • PHPが動くサーバー(ローカルでもOK)
  • Composer(PHPのライブラリ管理ツール)
  • Google / Facebookの開発者アカウント

もしパソコンをあまり使ったことがない人でも大丈夫。ひとつずつ進めていけば安心です。

3. GoogleログインをPHPで実装する手順

3. GoogleログインをPHPで実装する手順
3. GoogleログインをPHPで実装する手順

まずは、GoogleでのOAuth認証の仕組みを使ってログイン機能を作ってみましょう。

GoogleのOAuth認証には、Google Cloud Consoleを使います。

ステップ1:Google Cloud Consoleで新しいプロジェクトを作成

  1. Google Cloud Consoleにアクセス
  2. 「プロジェクトを作成」をクリック
  3. プロジェクト名を入力し、作成

ステップ2:OAuth同意画面の設定

  1. 「APIとサービス」→「OAuth同意画面」を選択
  2. ユーザータイプは「外部」を選ぶ
  3. アプリ名やサポートメールを入力

ステップ3:認証情報を作成

  1. 「認証情報」から「認証情報を作成」→「OAuth 2.0 クライアントID」
  2. 「アプリケーションの種類」は「ウェブアプリケーション」
  3. リダイレクトURIを入力(例:http://localhost/callback.php

ステップ4:Google Clientライブラリをインストール

ターミナルで以下を実行(Composerが必要)


composer require google/apiclient:^2.0

4. PHPコードでGoogleログインを実装しよう

4. PHPコードでGoogleログインを実装しよう
4. PHPコードでGoogleログインを実装しよう

次に、PHPのコードを書いていきます。ファイルは以下の2つを用意します:

  • login.php(ログインボタンの表示)
  • callback.php(Googleからの情報を受け取る)

login.php の内容


setClientId('あなたのクライアントID');
$client->setClientSecret('あなたのクライアントシークレット');
$client->setRedirectUri('http://localhost/callback.php');
$client->addScope("email");
$client->addScope("profile");

$authUrl = $client->createAuthUrl();
echo "<a href='$authUrl'>Googleでログイン</a>";
?>

callback.php の内容


<?php
require_once 'vendor/autoload.php';

$client = new Google_Client();
$client->setClientId('あなたのクライアントID');
$client->setClientSecret('あなたのクライアントシークレット');
$client->setRedirectUri('http://localhost/callback.php');

if (isset($_GET['code'])) {
    $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
    $client->setAccessToken($token);

    $oauth = new Google_Service_Oauth2($client);
    $userInfo = $oauth->userinfo->get();

    echo "こんにちは、" . htmlspecialchars($userInfo->name) . "さん";
}
?>
-

5. Facebookログインも同じように使える

5. Facebookログインも同じように使える
5. Facebookログインも同じように使える

FacebookでもOAuthを使ってログイン機能を実装できます。基本の考え方はGoogleと同じです。

PHPでは Facebook SDK for PHP を使います。インストールは次の通りです:


composer require facebook/graph-sdk

その後、アプリIDやシークレットを使ってログイン画面を表示します。

GoogleとFacebook両方をサポートすることで、ユーザーがログインしやすくなり、サービスの利用者も増えやすくなります。

6. よくある質問(初心者向けの補足)

6. よくある質問(初心者向けの補足)
6. よくある質問(初心者向けの補足)

Q. GoogleやFacebookログインを使うと安全ですか?

A. はい。ユーザーのパスワードを自分のサイトで管理しないので、セキュリティ面でも安心です。

Q. 自分のアプリに合うログイン方法を選ぶには?

A. ターゲットユーザーに合わせて、GoogleかFacebook、または両方使うと良いです。

Q. 自分でPHPコードを書くのが不安です。

A. 初心者向けのライブラリがあるので、書くコードは最小限で済みます。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
New2
PHP
PHPのJWT認証の基本とは?初心者でもわかるJSON Web Tokenの使い方
New3
PHP
PHPのUnixタイムスタンプの使い方を徹底解説!初心者でもわかる日付と時間の扱い方
New4
PHP
PHPの基本的なエラーとデバッグ方法をやさしく解説!初心者でも安心の入門ガイド
-
人気記事
No.1
Java&Spring記事人気No1
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
No.2
Java&Spring記事人気No2
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.3
Java&Spring記事人気No3
PHP
PHPの特殊文字とエスケープ処理を完全ガイド!初心者向けにhtmlspecialcharsとhtmlentitiesをやさしく解説
No.4
Java&Spring記事人気No4
Python
Pythonで月の日数を取得する方法!初心者でもわかるcalendar.monthrangeの使い方
No.5
Java&Spring記事人気No5
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.6
Java&Spring記事人気No6
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.7
Java&Spring記事人気No7
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.8
Java&Spring記事人気No8
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
-
-