Laravelの認証機能はどれを使うべき?Jetstream, Breeze, Laravel/ui, Fortify を比較

Laravel認証機能

Laravelの認証機能を実装する方法にはJetstream、Breeze、Laravel/ui、Fortifyがあります。それぞれの機能、メリット・デメリットをまとめました。

「どの方法で認証機能を実装しよう。」

と悩んでいたら、参考にしてくださいね。

Junko
Junko

選択肢が多すぎると悩んじゃいますよね。

それが良いか悩んだら、各機能の「おすすめの場合」を読んでください。

Laravelの認証機能はどれを使うべき?Jetstream, Breeze, Laravel/ui, Fortify を比較

4つの認証機能の実装方法比較を、難易度と機能を軸に、一目で分かるようなグラフにしました。

ご覧いただけるとおり、使いにくいけど機能が充実しているのがJetstream、使いやすいけど機能面は少し、というのがLaravel/uiです。

BreezeはJetstreamの簡易版、Fortifyはバックエンド部分のみの提供です。

それぞれの特徴も併せて比較した表が、次のとおりです。

【Laravel認証機能実装方法の難易度・特徴比較】

  css 使いやすさ 機能の多さ 特徴
Jetstream Tailwind 機能が充実しているが難しい
Breeze Tailwind Jetstreamの簡易版ともいえる
Laravel/ui Bootstrap Bootstrap, Vue.js, Reactから選択可
Fortify なし × バックエンドのみ

それぞれの違い、メリット・デメリットを詳しく解説していきますね。

Jetstreamの特徴・メリット・デメリット

JetstreamはLaravel8で登場しました。

Bladeファイルを使うLivewire版、またはVue.jsを使うInertia版のどちらかのライブラリを選択できます。

ユーザーログイン・登録・メール認証・2段階認証・セッション管理・プロフィール更新・チーム機能など、これでもか、というぐらいの充実した機能がそろっています。

ただその分、使いこなすのが大変です。それほど機能が必要ないのであれば、あえて使わなくても良いかと思います。

Jetstreamがおすすめな場合

  • Tailwindが使える/使ってみたい時
  • 高度な認証機能が必要な時

■Jetstreamインストール方法はこちら

■Jetstream Inertia版インストール方法はこちら

Breezeの特徴・メリット・デメリット

Breezeは今回取り上げた4つの中で、最もあたらしいものです。また、現在最も手軽で良く使われていると思われるパッケージです。

Jetstreamが難しすぎたので、簡易版としてBreezeが作成されたのでは、とも推測できます。公式マニュアルには、次のように書かれています。

Laravelを初めて使用する場合は、Laravel Jetstreamへ進む前に、Laravel Breezeで勘所を掴むことをおすめします。

参考:Laravel公式マニュアル スターターキット

機能としては、Laravel/uiに近い感じです。通常のログイン機能・パスワードリセット・メール認証(オプション)はそろっていますが、二段階認証やチーム機能などは入っていません。

Breezeがおすすめな場合

  • Tailwindが使える/使ってみたい時
  • 新しい認証機能を使いたいがJetstreamほど豊富な機能は不要な場合

■インストール方法はこちら

Laravel/uiの特徴・メリット・デメリット

JetstreamやBreezeが登場するまでば、Laravel/uiが公式の認証機能搭載方法といえました。Bootstrap, Vue.js, Reactから選択できます。

Breeze同様、通常のログイン機能・パスワードリセット・メール認証(オプション)はそろっていますが、二段階認証やチーム機能などは入っていません。

Laravel/uiがおすすめな場合

  • 慣れた環境で進めたいとき
  • Bootstrapを使いたいとき

■インストール方法はこちら

Fortifyの特徴・メリット・デメリット

Fortifyは認証機能のバックエンド部分のみ請け負ってくれます。

機能としては二段階認証も可能で、豊富です。先ほど解説したJetstreamにも、実はFortifyが使われています。

内部的にJetstreamの認証部分は、認証バックエンドにとらわれないLaravelのフロントエンドであるLaravel Fortifyにより動作しています。

参考:Laravel公式マニュアル Laravel Jetstream 1.0 認証

ただ登録フォームもすべて自分で作成せねばいけないので面倒です。フロントエンドをいちから作りたい場合には良いかと思います。

Fortifyがおすすめな場合

  • フロントエンドをすべて自由に作りたいとき

■インストール方法はこちら

さいごに

Laravelの認証機能の実装方法を比較・解説しました。

LaravelのcssはTailwindへ移行していきつつも、ユーザーの好みに合うよう、様々なオプションを用意してくれているように感じます。

ぜひ、あなたのプロジェクトに合ったものを選んでくださいね。

Junko
Junko

わたしは以前はLaravel/uiを使っていましたが、最近はBreezeが多いです。プロジェクトによっては、Jetstreamも利用します。

なお、わたしのほうでは「Laravelの教科書」という学習サイトを運営しています。

学習サイトでは、Laravel/uiを使ったテキスト(Bootstrap利用・Laravel8版)と、Laravel Breezeを使ったテキスト(Tailwind CSS利用・Laravel9版)の両方ご用意しています。

どちらのテキストもLaravelの使い方を学びつつ、フォーラムサイトを作っていく内容となっています。

【Laravelの教科書 Breeze版で作成するWebアプリの画面例】

Breeze版でもlaravel/ui版でも、お好きなほうを選んでいただけます。両方のテキストを学んでいただいてもOKです。

ご興味あれば、下記の案内ページをご覧くださいね。基礎編は無料です。

Laravelの教科書について詳しく知る

Laravel認証機能

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

 

Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
デプロイ講座付。StripeやChatGPT連携など過去10回分のセミナー動画視聴可能。

Laravel実践スキルをのばしたい方におすすめです。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました