
こんにちは!🌱Webアプリ開発に興味を持ち始めたばかりのあなたへ。
この記事では、Laravelを使ってAPI認証の基本を学びながら、「APIってそもそも何?」という疑問にもやさしく答えていきます。
特にLaravel Sanctumを使った認証方法を中心に、図解や実例コードを交えて、初心者でも安心して読み進められるように構成しています。
スマホでも読みやすいように、デザインにも気を配っているので、通勤中やカフェでも気軽に読んでくださいね☕
それでは、LaravelとAPIの世界へ一歩踏み出してみましょう!🔐
LaravelでAPIを作る準備🛠️
Laravelでは、APIを作るための機能が最初からたくさん用意されています。まずは、環境を整えて、APIルートを作るところから始めましょう。
📦 Laravelプロジェクトの作成
$ composer create-project laravel/laravel api-sample
$ cd api-sample
$ php artisan serve
これでローカルサーバーが起動し、http://localhost:8000
にアクセスできるようになります。
📁 APIルートの場所
Laravelでは、API用のルートは routes/api.php
に記述します。Webルートとは分けて管理できるので、整理しやすいのが特徴です。
🌿 ルートの例
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::get('/hello', function () {
return response()->json(
['message' => 'こんにちは、APIの世界へようこそ!']
);
});
このルートを追加すると、/api/hello
にアクセスしたときに、JSON形式でメッセージが返ってきます。
![]() | Web APIの設計 (Programmer's SELECTION) [ Arnaud Lauret ] 価格:4180円 |

![]() | 絵で見てわかるクラウドインフラとAPIの仕組み [ 平山毅 ] 価格:2838円 |

Laravel SanctumでAPI認証を守る🔐
APIは便利だけど、誰でも自由にアクセスできてしまうと危険⚠️。そこで登場するのが「認証」です。Laravelでは、Sanctumという軽量な認証システムを使って、APIを安全に守ることができます。
🧪 Sanctumのインストール
Laravel10では以下のコマンドが必要ですが、Laravel11以降では1つのコマンドでインストールできます。
# Laravel10
$ composer require laravel/sanctum
$ php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
$ php artisan migrate
# Laravel11以降(将来変更される可能性あり)
$ php artisan install:api
これでSanctumのテーブルが作成され、認証の準備が整います。
🔧 ミドルウェアの設定
通常は追加せずとも既に設定されていると思います。ない場合はapp/Http/Kernel.php
に以下を追加します:
<?php
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class
],
👤 ユーザー認証の流れ
Sanctumでは、ログインしてトークンを発行し、そのトークンを使ってAPIにアクセスするという流れになります。
📮 ログインAPIの例
<?php
use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash;
use App\Models\User;
Route::post('/login', function (Request $request) {
$user = User::where('email', $request->email)->first();
if (! $user || ! Hash::check($request->password, $user->password)) {
return response()->json(['message' => '認証失敗'], 401);
}
return $user->createToken('api-token')->plainTextToken;
});
このAPIにメールアドレスとパスワードを送ると、トークンが返ってきます。このトークンを使って、他のAPIにアクセスできるようになります。
トークンは「鍵」のようなもの。これを持っている人だけが、守られたAPIにアクセスできるようになります🔑
LaravelのAPIまわりの実装方法はバージョンによって微妙に異なりますので、必ずオフィシャルドキュメントを確認してください。
![]() | PHPフレームワークLaravel入門第2版 [ 掌田津耶乃 ] 価格:3300円 |

![]() | Laravelの教科書 バージョン10対応 [ 加藤 じゅんこ ] 価格:3300円 |

トークンで守られたAPIを作ってみよう🛡️
Sanctumでトークンを発行したら、次はそのトークンを使って「認証されたユーザーだけが使えるAPI」を作ってみましょう。
🔐 認証が必要なルートの定義
routes/api.php
に以下のようなルートを追加します:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->get('/profile', function (Request $request) {
return response()->json([
'name' => $request->user()->name,
'email' => $request->user()->email
]);
}
);
このルートは、トークンを持っているユーザーだけがアクセスできます。トークンがない場合は、401エラーが返されます。
📲 トークンの使い方
APIを呼び出すときは、HTTPヘッダーにトークンを含めます:
GET /api/profile Authorization: Bearer トークン文字列
これでLaravelは「この人はログイン済みだな」と判断して、APIの中身を返してくれます。
これで「ログインした人だけが使えるAPI」が完成!セキュリティの第一歩として、とても大切な仕組みだよ🌱
![]() | 動かして学ぶ!Laravel開発入門 (NEXT ONE) [ 山崎 大助 ] 価格:3300円 |

ログアウトとトークンの削除🧹
ログインしてトークンを使えるようになったら、次は「ログアウト」も考えないといけません。Laravel Sanctumでは、トークンを削除することでログアウトが実現できます。
🚪 ログアウトAPIの例
以下のように、現在のトークンを削除するルートを作成します:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->post('/logout', function (Request $request) {
$request->user()->currentAccessToken()->delete();
return response()->json(['message' => 'ログアウトしました']);
});
このAPIにアクセスすると、現在のトークンが削除され、以降は保護されたAPIにアクセスできなくなります。
🧼 すべてのトークンを削除する場合
もし「すべての端末からログアウトしたい」という場合は、以下のようにします:
$request->user()->tokens()->delete();
これで、そのユーザーが持っているすべてのトークンが削除されます。
トークンを削除することで、ログアウト処理もシンプルに実現できるんだね。これでAPIの基本的な認証の流れはひと通り完成!🎉

Laravelの「ルーティング」ってどう使う?図解でわかる基本のキ – ガチ…
Laravelの「ルーティング」ってどう使う?図解でわかる基本のキ – ガチ…
Laravelのルーティングをゼロから学ぶ!超基本の書き方から、Controllerへの紐付け、名前付きルート、ルートモデルバインディングまで丁寧に解説。もう迷わない。
Laravelのルーティングをゼロから学ぶ!超基本の書き方から、Controllerへの紐付け、名前付きルート、ルートモデルバインディングまで丁寧に解説。もう迷わない。
まとめ🌿
ここまで読んでくれてありがとう!LaravelとSanctumを使ったAPI認証の仕組み、少しずつ理解できてきたんじゃないかな?
最初は「APIって何?」というところから始まり、トークンの発行、保護されたルートの作成、ログアウト処理まで、ひと通りの流れを体験できたね。
- APIとは? アプリ同士が会話するための仕組み
- LaravelでAPIを作る routes/api.php にルートを定義
- Sanctumで認証 トークンを使って安全に守る
- ログイン・ログアウト トークンの発行と削除で管理
- FAQで疑問解消 初心者がつまずきやすいポイントを確認
これらはLaravelのAPI開発のほんの入り口。でも、入り口をくぐったあなたはもうWebアプリ開発者の仲間入りだよ!🎉
もし「もっとやってみたい!」と思ったら、次は「ユーザー登録API」や「カテゴリ付きTodo API」などにも挑戦してみてね。Laravelの公式ドキュメントや、コミュニティの記事・動画もとっても頼りになるよ。
最後にひとこと。API開発は、まるで森の中の探検みたい。道に迷うこともあるけれど、地図(ドキュメント)と仲間(開発者コミュニティ)があれば、きっと前に進める。あなたのコードが、誰かの「便利」や「安心」につながる日を楽しみにしてるよ🍀
🌟 おつかれさまでした!次はAPIの応用編にも挑戦してみよう!🌟

LaravelでTodoアプリを作ってみよう!【超初心者向け】 – ガチエン…
LaravelでTodoアプリを作ってみよう!【超初心者向け】 – ガチエン…
Laravel初心者必見!この記事では環境構築からシンプルなTodoアプリの作成まで、図解やコード例つきでやさしく解説します。初めてのWebアプリ開発に挑戦したい方に最適な入門ガイドです。
Laravel初心者必見!この記事では環境構築からシンプルなTodoアプリの作成まで、図解やコード例つきでやさしく解説します。初めてのWebアプリ開発に挑戦したい方に最適な入門ガイドです。