Help us understand the problem. What is going on with this article?

Laravel 6系でmake:authを使う方法

make:authが使えない

いつも通り認証機能を実装しようと、Laravelで用意されている「php artisan make:auth」コマンドを実行すると...
スクリーンショット 2019-11-10 2.30.00.png

上記のようにmake:authコマンドなんて存在しないとエラーになった。
調査するとLaravel6系を使っていることが原因で5系まで使えていたmake:authが使えなくなっていた。
細かい変更な気がしますが、最新のバージョンを使う時は一通りドキュメント読むべきでした。

他にも変更点があるので下記リンクを参考にしてください。
Laravel6 authentication

Laravel6系で認証機能を実装する

それでは実装していきます。

はじめにパッケージのlaravel/uiをcomposerで追加する。

$ composer require laravel/ui --dev

ついでに、今まで標準でVue.jsやBootstrapが使えていましたが、6系からはこのパッケージを追加して使えるui artisanコマンドでインストールする必要があります。(reactもこの方法)

// Bootstrap
$ php artisan ui bootstrap

// Vue.js
$ php artisan ui vue

// React
$ php artisan ui react

認証機能は上記のコマンドに「--auth」を追加する事でmake:authと同様に利用できるようになります。

今回は、5系でデフォルトでは組み込まれていなかったreactで実行してみます。

// --authを追加する
$ php artisan ui react --auth

実装するとpackage.jsonにreactが追加されています。

packgage.json
"devDependencies": {
        "@babel/preset-react": "^7.0.0",
        "axios": "^0.19",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^4.0.7",
        "lodash": "^4.17.13",
        "popper.js": "^1.12",
        "react": "^16.2.0",
        "react-dom": "^16.2.0",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.15.2",
        "sass-loader": "^7.1.0"
    }

npmでインストールとビルドする

$ npm install
$ npm run dev

Laravelの画面を見てみると、右上にLogin Registerが追加されています。

スクリーンショット 2019-11-10 3.55.06.png

ログイン画面はこんな感じで表示され、Auth系のリソースも追加されています。
スクリーンショット 2019-11-10 3.51.40.png

今回の経験で、バージョンによる違いをもっと意識する必要があると感じました。
以上です。

参考

Laravel6 認証
Laravel6 authentication

rei67
Webエンジニア PHP / Laravel / React / AWS / Docker AWSSAA
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away