Laravel6 備忘録 −ユーザー認証(Auth)−


ユーザー認証

Laravel6からはLaravel5.9以前から使えていたphp artisan make:authコマンドが使えないため、以下の手順で設定する

環境

バージョン
PHP 7.2.9
Laravel 6.8.0
Node 8.11.4
npm 6.4.0
terminal
## phpのバージョン
vagrant@homestead:~/code/myapp$ php -v
PHP 7.2.9-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Aug 19 2018 07:16:54) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.9-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    with blackfire v1.22.0~linux-x64-non_zts72, https://blackfire.io, by Blackfire

## laravelのバージョン確認
vagrant@homestead:~/code/myapp$ php artisan --version
Laravel Framework 6.8.0

## nodeの存在確認
vagrant@homestead:~/code/myapp$ node -v
v8.11.4

## npmの存在確認
vagrant@homestead:~/code/myapp$ npm -v
6.4.0

手順

vagrantでsshログインしてアプリケーションのルートフォルダへ移動

laravel作成時のマイグレーションファイルをmigrateする
(auth用のuserテーブルのマイグレーションファイルはすでに作成されている)

terminal
vagrant@homestead:~/code/myapp$ php artisan migrate

パッケージのlaravel/uiをcomposerで追加する

terminal
vagrant@homestead:~/code/myapp$ composer require laravel/ui --dev

vue,react,bootstrapから利用するものに合わせてインストールする

terminal
## 認証機能を利用する場合は--auth必須
## 認証機能を利用しない(単純にUIにvue,react,bootstrapを利用したい場合)は--authは不要

## vueの場合
vagrant@homestead:~/code/myapp$ php artisan ui vue --auth

## reactの場合
vagrant@homestead:~/code/myapp$ php artisan ui react --auth

## bootstrapの場合
vagrant@homestead:~/code/myapp$ php artisan ui bootstrap --auth

これでpackage.jsonに指定したものが追加される

package.json
{
  "devDependencies": {
        "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",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.20.1",
        "sass-loader": "7.*",
        "vue": "^2.5.17", // 追加された
        "vue-template-compiler": "^2.6.10" // 追加された
    }
}

npmで必要なパッケージをインストールする

terminal
vagrant@homestead:~/code/myapp$ npm install
vagrant@homestead:~/code/myapp$ npm run dev

完了

注意

導入以前に、デフォルトで作成されているresource/js/app.jsresource/sass/app.scssを移動していたり削除していたりすると、上記作業中にエラーが発生する
これらはvue,react,bootstrapを導入する際にresource/sass/app.scss,resurece/js/app.jsが必須ファイルであるため