カテゴリ: Laravel 更新日: 2026/01/12

LaravelのFortifyとSanctumの違いと使い分け!初心者向けに認証の仕組みをやさしく解説

LaravelのFortifyとSanctumの違いと使い分け
LaravelのFortifyとSanctumの違いと使い分け

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

生徒

「Laravelの認証を調べていたら、FortifyとSanctumという言葉が出てきました。どちらを使えばいいんですか?」

先生

「この二つは役割が少し違います。名前が並んで紹介されることが多いので、混乱しやすいですね。」

生徒

「プログラミング未経験なので、違いがまったく想像できません…」

先生

「大丈夫です。家の鍵と入館証に例えながら、順番に整理していきましょう。」

1. Laravelの認証機能を整理しよう

1. Laravelの認証機能を整理しよう
1. Laravelの認証機能を整理しよう

Laravelの認証とは、「ログインしているのは誰か」を確認する仕組みです。ユーザー名やメールアドレス、パスワードを使って本人かどうかを判断します。

Laravelには、認証を助けてくれる仕組みがいくつか用意されています。その中でも、FortifySanctumはよく名前が出てくる存在です。

まず大切なのは、「この二つは競合するものではなく、役割が違う」という点です。同じ認証でも、担当している仕事が異なります。

2. Laravel Fortifyとは何か?

2. Laravel Fortifyとは何か?
2. Laravel Fortifyとは何か?

Laravel Fortifyは、「ログイン処理そのもの」を担当する仕組みです。ユーザーが入力したメールアドレスとパスワードを確認し、正しければログイン状態にします。

Fortifyは、画面を持たない認証の裏側だけを提供します。つまり、「どうやってログインを判断するか」という中身だけを用意してくれます。

例えるなら、受付で身分証をチェックする係です。入館証が本物かどうかを確認し、問題なければ通してくれます。

3. Laravel Sanctumとは何か?

3. Laravel Sanctumとは何か?
3. Laravel Sanctumとは何か?

Laravel Sanctumは、「ログイン状態を安全に保つための仕組み」です。特に、API通信や別の画面からアクセスする場合に使われます。

Sanctumは、トークンという特別な合言葉を使って、「このアクセスは本人ですよ」と証明します。トークンとは、一時的な通行証のようなものです。

これは、建物に入るときに毎回身分証を出さず、入館証を首から下げて移動するイメージに近いです。

4. FortifyとSanctumの役割の違い

4. FortifyとSanctumの役割の違い
4. FortifyとSanctumの役割の違い

FortifyとSanctumの大きな違いは、どの場面を担当するかです。

Fortifyは「ログインするとき」に使われます。一方でSanctumは「ログインした後、その状態を使ってアクセスする」ときに使われます。

つまり、Fortifyは入り口の確認係、Sanctumは建物の中で使う通行証の管理係です。役割が違うので、混同しないことが大切です。

5. 初心者が混乱しやすいポイント

5. 初心者が混乱しやすいポイント
5. 初心者が混乱しやすいポイント

初心者がよく混乱するのは、「FortifyとSanctumのどちらかを選ばないといけない」と思ってしまう点です。

実際には、両方を一緒に使うこともあります。ただし、学習初期では「Fortifyはログイン処理」「Sanctumはログイン後の認証」と理解できていれば十分です。

細かい設定や高度な使い分けは、後から学ぶ内容なので、今は全体像をつかむことを優先しましょう。

6. Breezeとの関係を知ろう

6. Breezeとの関係を知ろう
6. Breezeとの関係を知ろう

Laravel Breezeを使った場合、内部ではFortifyが利用されています。つまり、BreezeはFortifyを使いやすくしたセットです。

そのため、Breezeでログインができているなら、すでにFortifyの仕組みを使っていることになります。

Sanctumは、API通信やスマートフォンアプリと連携する場合に登場することが多く、最初は意識しなくても問題ありません。

7. どう使い分ければいいのか

7. どう使い分ければいいのか
7. どう使い分ければいいのか

通常のWebサイトでログイン機能を作る場合は、Fortifyを使った仕組みで十分です。画面からログインし、ページを移動する流れに向いています。

一方で、画面を持たない通信や、外部から安全にアクセスしたい場合はSanctumが活躍します。

初心者の段階では、「Fortifyはログインの仕組み」「Sanctumは安全な証明書」というイメージを持つだけで、Laravelの認証がぐっと理解しやすくなります。

カテゴリの一覧へ
新着記事
New1
Laravel
Laravelの認証状態をチェックする方法を完全解説!authとAuth::check()を初心者向けにやさしく説明
New2
CodeIgniter
CodeIgniterのコントローラクラスの作り方を完全ガイド!初心者でもわかる基礎から実践まで
New3
Symfony
Symfonyのフォームラベルを多言語対応!初心者でもわかる翻訳設定ガイド
New4
Laravel
Laravelでユーザー登録機能を作る方法!初心者向けにバリデーションとリダイレクトをやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelのデータベース設定方法を完全ガイド!初心者でもわかる.envファイルの使い方
No.2
Java&Spring記事人気No2
Laravel
Laravelのビューとは?Bladeテンプレートの基本を解説
No.3
Java&Spring記事人気No3
Laravel
Laravelでセッションを扱う方法!保存方法と利用例を解説
No.4
Java&Spring記事人気No4
Laravel
Laravelのルート一覧を確認する方法!初心者でもわかるphp artisan route:listの使い方
No.5
Java&Spring記事人気No5
Laravel
Laravelでルーティングを設定する方法!web.phpと基本ルートの書き方を初心者向けに徹底解説
No.6
Java&Spring記事人気No6
Laravel
LaravelでルートをBladeテンプレートに記述する方法(route関数)
No.7
Java&Spring記事人気No7
Laravel
Laravelのルートキャッシュ機能を活用してパフォーマンス改善!初心者でもわかる完全ガイド
No.8
Java&Spring記事人気No8
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)