Laravelバージョン7.3に認証機能を入れてみよう

 

今回はLaravelを使って認証機能を導入してみたいと思います。

バージョン5以前では「php artisan make::auth」コマンド実行のみで導入できたようですが、そのコマンドがなくなってしまっているということで、新しい方法で導入してみました。

 

当記事執筆時点でLaravelのバージョンは7.3になります。

 

Laravelの認証機能で導入される機能についてはこちらの記事で紹介しています。

関連記事

  以前の記事でLaravelに認証機能を入れる方法を記事にしました。   Laravelの認証機能を使って実装できる5つの機能がありますので、見ていけたらと思います。 まずはルーティングを探り、[…]

Laravelの認証ルーティングから探る、提供される認証機能5つ

 

DB設定

 

まずは、データベースの設定をしましょう。

Laravel の データベースの設定は.envファイルを書き換えることでできます。

MySQL を使用する場合は以下のようにしておきましょう。

DB_CONNECTION=mysql
DB_HOST=データベースのホスト名
DB_PORT=ポート番号
DB_DATABASE=データベース名
DB_USERNAME=データベースのユーザ名
DB_PASSWORD=データベースのパスワード

SQLiteを使用する場合は以下のようにしておきましょう。

DB_CONNECTION=sqlite
DB_DATABASE=SQLiteのファイルへの絶対パス

 

 laravel/ui を導入し、認証を入れる

 

まずは、composerからlaravel/uiを入手しましょう。

$ composer require laravel/ui

# Package manifest generated successfully.

 

インストールできたか不安な方は以下コマンドを実行してみてください。

$ php artisan list

# uiという項目があればインストールできている

 

できたら、以下のコマンドで認証を導入します。

$ php artisan ui vue --auth

# Vue scaffolding installed successfully.
# Please run "npm install && npm run dev" to compile your fresh scaffolding.
# Authentication scaffolding generated successfully.

 

最後に指示どおりに”npm install && npm run dev”を実行します。(npmがない人はインストールしてください。)

$ npm install && npm run dev

# DONE  Compiled successfully in 6692ms

 

これで、認証機能は導入できて、デフォルトページの右上にログインへのリンクが表れるようになります。

認証導入後のlaravelトップページ

 

マイグレーション実行

 

認証機能実装に必要なマイグレーションを実行しテーブルを作成したら完了です。artisanコマンドでマイグレーションを実行しましょう。

$ php artisan migrate

# Migration table created successfully.

 

これで、ユーザ作成やログインなどが可能になると思います。

laravelの認証画面

 

おまけ: vueなしで導入する

 

vueを使用しなくても、以下コマンドだけで認証が入れられるようです。

Laravel側の必要な部分は作成されるっぽいです。

 

$ php artisan ui:auth

 

実装されるのは機能のみで、見た目は質素なので、自分でカスタマイズする必要があります。

 

make:authで作成した認証ページ

 

APIとしてLaravelを使用する場合にはこちらを選択するといいかと思います。

 

最後に

 

Laravelでは上記の通り、非常に簡単に、10分ほどで認証機能を導入できてしまいます。

Laravelで提供される認証機能を使用することで、コンテンツの作成に集中することができますね。

 

冒頭でも書きましたが、認証機能で導入された機能についてまとめた記事も書きましたので、よかったら見ていってください。

関連記事

  以前の記事でLaravelに認証機能を入れる方法を記事にしました。   Laravelの認証機能を使って実装できる5つの機能がありますので、見ていけたらと思います。 まずはルーティングを探り、[…]

Laravelの認証ルーティングから探る、提供される認証機能5つ