Laravel6.xで認証機能を追加する手順

Laravel5.8まではphp artisan make:authコマンドで認証機能を実装していましたが、Laravel6からはこのartisanコマンドが削除されました。

代わりの方法が実装されているので、Laravel6で認証機能を追加する手順を説明します。
公式サイトでは以下で説明されています。
認証 6.x Laravel

laravel/ui Composerパッケージをインストールする

Laravelプロジェクト内で下記のコマンドを実行し、laravel/uiパッケージをインストールします。

php artisan ui vue –authを実行して認証機能を追加する

Laravelプロジェクト内で下記のコマンドを実行し、認証機能を追加します。

これで画面の右上に「LOGIN」と「REGISTER」が追加されています。

このまま「LOGIN」のリンクをクリックするとログインフォームが表示されますが、jsとcssが読み込めずにレイアウトが崩れています。


npm install、npm run devを実行する

Vue.jsのビルドをしてログイン画面が正しく表示されるようにします。
下記のコマンドを実行します。

ログイン画面が綺麗に表示されました。

登録画面はこんな感じ。

データベース設定とマイグレーションをする

自分は開発環境にLaradockを使っているのですが、ユーザーの新規登録をしようとすると以下の用なエラーの画面になりました。

データベースの設定をする必要があります。
いくつかやる事があるので順番に対応していきます。

Laravelの.envを修正する

LaradockのMySqlのデフォルト設定を確認し、それに合わせてLaravelの設定をします。
まずLaradockの.envを確認すると以下のような感じになっています。

上記を参考に、Laravelプロジェクトの.envを編集して以下のようにします。

Laradockのmysql/my.cnfを修正する

Laradockのmysqlの設定を追加します。
Laradockのmysql/my.cnfに以下の行を追加します。

mysqlコンテナを再ビルドする

Laradockのmysqlの設定を反映させるために、コンテナを再ビルドします。
コンテナを抜けて、ホストマシン側で下記のコマンドを実行します。

マイグレーションを実行する

workspaceコンテナに入り、マイグレーションを実行します。

ユーザーの新規登録に整合しました。

Laravel6で認証機能を追加する手順は以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*