[Laravel]6.x系で認証機能をサクッと動かす

Laravel

Laravelで認証機能周りをカスタマイズすることがあったので、認証機能の動かし方をまとめてみました。
Laravel6で認証機能を追加して、ユーザー登録とログインができるところまで確認しています😃

使ってみる

認証機能の追加

laravel6系から認証機能を使うための、make:authコマンドがなくなっているので
下記コマンドで認証機能を追加します。

composer require laravel/ui "^1.0" --dev
php artisan ui vue --auth

追加した後に下記コマンドで、app.jsをコンパイルします。

npm install && npm run dev

追加されたファイルの確認

ui vue –authなのでvue系のファイルができるかと思いきや
おなじみのbladeファイルがresources/views/auth配下にできています。

resources/views/home.blade.php
resources/views/auth/login.blade.php
resources/views/auth/register.blade.php
resources/views/auth/verify.blade.php
resources/views/auth/passwords/confirm.blade.php
resources/views/auth/passwords/email.blade.php
resources/views/auth/passwords/reset.blade.php
resources/views/layouts/app.blade.php

あとweb.phpに下記が追加され

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

/homeにアクセスすると、認証ページのトップになり、Auth::routes()で下記ルーティングが追加されています。

URIAction
homeHomeController@index
loginAuth\LoginController@showLoginForm
loginAuth\LoginController@login
logoutAuth\LoginController@logout
password/emailAuth\ForgotPasswordController@sendResetLinkEmail
password/resetAuth\ForgotPasswordController@showLinkRequestForm
password/resetAuth\ResetPasswordController@reset
password/reset/{token}Auth\ResetPasswordController@showResetForm
registerAuth\RegisterController@showRegistrationForm
registerAuth\RegisterController@register

sqliteでdatabaseを用意して、migrationする

とりあえず上記までで、php artisan serveして、/homeにアクセスすると画面が表示されますが

ユーザー登録やログイン機能が使えないため、ユーザを登録できるテーブルをmigrationして作成します。
サクッと使いたいので、sqliteで使ってみます。

.envを編集して、mysqlがデフォルトで使うようになっているので、sqliteに切り替えます。

#DB_CONNECTION=mysql
#DB_HOST=127.0.0.1
#DB_PORT=3306
#DB_DATABASE=laravel
#DB_USERNAME=root
#DB_PASSWORD=
DB_CONNECTION=sqlite

touchコマンドなどで、database/ディレクトリ配下に、database.sqliteファイルを用意します。

touch database/database.sqlite

php artisan migrateコマンドを実行して、マイグレーションします。

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (0 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (0 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (0 seconds)

sqliteファイルにテーブルが作成されます。
ここまでで、ユーザー登録とログイン機能が使えるようになっています。

動作確認

php artisan serveでlaravelを動作させて、
127.0.0.1:8000/register にアクセスしてユーザー登録をしてみると…

user login test

登録されて問題なく、ログインされました。

sqliteでも認証機能のところがサクッと使えて確認できていいですね😃

テーブルの中身も確認してみる

sqliteコマンドを使って、実際にデータができているか確認します。

sqlite3 database/database.sqlite

.tablesでテーブル一覧が確認できます。
テーブルができているのでOK。

sqlite> .tables
failed_jobs      migrations       password_resets  users  

select文でユーザーが追加されているか確認します。

sqlite> select * from users;
1|山田太郎|taro@test.hoge.com||$2y$10$FkAaOfiJHM48W4mIO4P1GuodLCSUFaA23yfZyyNcRB9JCCHghNGC.||2020-06-17 15:48:29|2020-06-17 15:48:29

OK👍🏻

サンプル

コメント

タイトルとURLをコピーしました