LoginSignup
1
2

More than 1 year has passed since last update.

Laravel8とjetstreamで認証機能を実装する

Last updated at Posted at 2022-03-05

はじめに

こんにちは、Ebata です。

認証機能とかっこよく書きましたが、要するにログイン機能の事です。この記事では、Laravel8でログイン機能を簡単に実装できるjetstreamというライブラリを紹介します。

詳しい説明は省きますが、jetstreamを使用する事で以下の機能が自動で実装できます。

  • ログイン機能
  • 会員登録機能
  • パスワードメール確認
  • ログイン失敗時のロック
  • プロフィール情報編集機能
  • 2段階認証

とりあえず、ここまで実装するのが本記事の目標です。

(もっと詳しく知りたいという方は、こちらの記事を読んでみるといいと思います。僕もこれで学びました)
【Laravel】初めての認証(Laravel8でJetstreamを使う)

環境

MacOS(Windowsでも LinuxでもOK)
Laravel8.x
Composer2.0

jetstreamとは

PHPのフルスタックフレームワーク、Laravelで利用可能なAuthenticateライブラリ。いわゆるログイン認証機能を実装してくれるライブラリです。

Jetstream

会員登録などの機能も備えているので、とりあえずログイン機能を実装するのであれば事足ります。

jetstreamはCSSフレームワークとして、tailwindを利用しています。もしカスタマイズなどする際は参照すると良いでしょう。

tailwindcss

また、似たようなライブラリにbreezeというものもありますが、そちらは別記事として書きたいと思います。

breeze

インストール方法

では、早速インストールしていきます。

まだLaravelプロジェクトを作成していない方は、作成するディレクトリに移動して、以下のコマンドを実行してください。

$ composer create-project laravel/laravel sample_login

これでLaravelプロジェクトが作成できました。

ちなみに、sample_loginの部分はプロジェクト名なので、適当に直してください。

続いて、プロジェクトディレクトリに移動して、以下のコマンドでjetstreamをインストールします。

$ composer require laravel/jetstream

jetstreamでは、UIの表示に使用するJavaScriptのパッケージが2種類あります。

一般的に使われているlivewireと、React.jsやVue.jsと互換性のあるinertia

今回は特にReact.jsなどを使う予定はないので、livewireをインストールします。

$ php artisan jetstream:install livewire

ちなみに、inertiaをインストールしたい場合は以下のコマンドを実行してください。

$ php artisan jetstream:install inertia 

JSパッケージのインストールが完了したら、続いてマイグレーションを行います。

マイグレーションとは、SQL文を直接書かずにマイグレーションファイルからデータベースを操作する作業のことです。今はとりあえず、会員登録に必要なデータを入れる箱を作る作業だと覚えればOK。

以下のコマンドを実行してください。

$ php artisan migrate

これでマイグレーションが完了しました。

続いて、JSとCSSをビルドしていきます。ビルドは組み立てるという意味です。

以下のコマンドを実行してください。

npm install && npm run dev

たまにlaravel mixの途中でエラーを吐くことがありますが、再度npm run devを実行するとすんなり行くことがあります。(なんだったんだろう)

また、Dockerなどでnpm command not foundが吐かれる場合は、先に以下の2つを実行してください。

$ apt update
$ apt install nodejs npm

ローカルでnpm command not foundを吐かれた場合は、パッケージマネージャであるHomebrewなどからnodeをインストールしてください。

こちらからもインストールできます。

Node.js

動作確認

ここまで出来たら、動作確認をします。

ローカルの場合は、以下のコマンドを実行してサーバーを起動してください。

$ php artisan serve

[http://localhost:8000]を開いて、Laravel8の初期画面を表示させてください。

右上にLoginRegisterが表示されていれば、今回のミッションはクリアです。お疲れ様でした。

ちなみに、Loginがログインページへのリンク、Registerが新規会員登録ページへのリンクです。

1
2
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
2