カテゴリ: 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
Symfony
Symfonyのルーティング構成の基本を完全解説!初心者向けにYAML・PHP・アノテーション方式をやさしく紹介
New2
Laravel
Laravelのルートグループの使い方!初心者でもわかるprefixやミドルウェアの設定方法
New3
PHP
PHPのswitch文の使い方!多くの条件分岐をスッキリ書く方法と注意点
New4
Symfony
Symfony学習に役立つおすすめドキュメント・教材・リソース一覧【初心者向け】
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPで文字列を結合する方法!ドット演算子と代入演算子の使い方を徹底解説
No.2
Java&Spring記事人気No2
PHP
PHPのif文の使い方を完全ガイド!初心者でもわかる条件分岐の基本
No.3
Java&Spring記事人気No3
Laravel
Laravelのresponse()関数の使い方を完全ガイド!初心者でもわかるレスポンス制御とHTTPレスポンスの基本
No.4
Java&Spring記事人気No4
Symfony
Symfonyで翻訳(i18n)機能を使う方法を解説!初心者にもわかる国際化対応の基本
No.5
Java&Spring記事人気No5
Laravel
LaravelのAPIルーティングを設定する方法!初心者でもわかるapi.phpの使い方
No.6
Java&Spring記事人気No6
CodeIgniter
CodeIgniterルーティングを完全攻略!正規表現でURLを自由自在に操る方法
No.7
Java&Spring記事人気No7
Laravel
Laravelのインストール方法まとめ!ComposerとLaravel Installerの使い方
No.8
Java&Spring記事人気No8
Laravel
LaravelでRemember Me(ログイン状態保持)機能を実装する方法を完全解説!初心者でも安心の認証入門