LoginSignup
1
1

Laravelで認証機能を作ろうと思ったけど失敗した話

Last updated at Posted at 2023-05-23

Laravelには認証機能を自動生成する機能がある

Laravelではphp artisan make:authコマンドを使用して
自動で認証機能を作成する機能があります。
このコマンドを実行すると、Laravelが認証に必要なコントローラー、モデル、ビュー、およびルーティングを自動的に生成します。

php artisan make:authが失敗した原因について

.実行したコマンド

$ php artisan make:auth  

エラーメッセージ
$ Command "make:auth" is not defined. Did you mean one of these?  

スクリーンショット 2023-05-23 10.54.41.png

結論

php artisan make:auth`はLaravel 5.7以降では使えないコマンドでした

理由

make:authコマンドはLaravel 5.6までのバージョンで提供されていました。
Laravel 5.7以降では、make:authコマンドはデフォルトで提供されなくなりました。

正確にはバージョン6以降からmake:authコマンドによる自動で認証機能を作成する機能が無くなっているため認証機能を自動で作成したい場合は、他の手段を選択する必要があります

バージョン6以降で認証機能を付与したい

Laravelバージョン6以降で認証機能を作成するためにはLaravel公式推奨のコマンドで引き続き自動作成できます。

  • 方法①:laravel/uiで認証機能などのテンプレートを作成する
  • 方法②:jetstreamで認証機能のテンプレートを作成する

laravel/uiについて

Laravelで利用できるUI(ユーザーインターフェース)のテンプレートを提供するコマンドです。
laravel/ui関連のコマンドを実行すると自動で認証機能などに必要なファイルを作ったり
既存のweb.phpファイルにルートを追記してくれます

バージョンがLaravel 8以前の場合

laravel/uiパッケージはデフォルトで含まれていないので、composerを使ってインターネットから
laravel/uiを追加インストールしなければ以降のコマンドを実行できません

.コマンド
インターネット経由で"laravel/ui"をインストールする

$ composer require laravel/ui

laravel/uiで認証機能を作成するコマンド

laravel/uiで認証機能の雛形を作る
(例:ログイン、登録、パスワードリセットのビューとルートを作成)

$ php artisan ui vue --auth

$ php artisan ui bootstrap --auth
$ npm install
$ npm run dev

コマンド実行完了後はブラウザを実際に見る

jetstreamについて

Laravelフレームワークの公式パッケージで、一般的な認証機能やユーザー管理に加えて、チーム管理、2要素認証、API認証など、さまざまな機能を提供します。設定が難しいとされているため、セキュリティの強度を求めない場合はlaravel/uiで実装することになると思いますので割愛します

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1