Ownedmedia ウェブ制作に役立つコンテンツを発信中!

Laravel 2019.10.18

Laravelでログインとトークン認証のAPIを作成してみる(環境構築)

Tags: ,,,

PHPのフレームワークであるLaravelを使うといろんなウェブアプリケーションを作成することができます。今回はLaravelでのログインとユーザーのトークン認証ができるAPIの作成を備忘録として残しておきたいと思います。まずはユーザー用のDBテーブルを作成するためにマイグレーションの設定から行なっていきます。

 

認証ユーザー用のマイグレーションファイルを下記コマンドで新規作成していきます。するとdatabase/migrations/にマイグレーションファイルができます。

$ php artisan make:migration auth_users

 

作成されたマイグレーションファイルにマイグレーションの設定を追記していきます。ここではLaravelにデフォルトで用意されている「users」テーブルをそのまま使用しています。そのため「Schema::create()」ではなく「Schema::table()」で実行し、第一引数にはテーブル名である「users」を指定します。そして新たに「token」カラムを追加しています。

【database/migrations/yyyy_mm_dd_******_auth_users.php】※一部抜粋

class AuthUsers extends Migration {
 public function up() {
  Schema::table('users', function (Blueprint $table) {
   $table->string('token')->unique()->nullable();
  });
 }

 public function down() {
  Schema::table('users', function (Blueprint $table) {
   $table->dropColumn('token');
  });
 }
}

 

マイグレーションファイルに設定を追記したら、下記コマンドでマイグレーションを実行してDBに新規カラムを追加します。

$ php artisan migrate

 

ただし、この時に他のマイグレーションファイルを作成済みで、一度マイグレーションを行なっている場合には下記のコマンドを実行します。

$ php artisan migrate:fresh

 

これで、データベースの既存usersテーブルに、新たにtokenカラムが追加されているのが確認できました。

Laravelでログインとトークン認証のAPIを作成してみる(環境構築)

 

続いてユーザーのテストデータを作成するために、下記コマンドでSeederファイルを新規作成していきます。すると、database/seeds/にSeederファイルができるのが確認できます。

$ php artisan make:seeder UsersSeeder

 

作成されたSeederファイルにテストデータ作成の設定を加えていきます。今回はfactoryと呼ばれる機能を使って自動的にユーザーのテストデータを生成できるようにします。ここでは5つのユーザーデータを作成するようにしています。

【database/seeds/UsersSeeder.php】※一部抜粋

use IlluminateDatabaseSeeder;

class UsersSeeder extends Seeder {
 use IlluminateFoundationTestingWithFaker;
 public function run() {
  $users = factory(AppUser::class, 5)->create();
 }
}

 

そして、下記コマンドでusersテーブルにテストデータを作成していきます。

$ php artisan db:seed --class UsersSeeder

 

これで、DBを確認してみると、テストユーザーとしてusersテーブルに架空のユーザーデータが記録されているのが確認できました。tokenの値はnullになっていますが、ここは後からユーザー固有のトークンを発行する形になります。

Laravelでログインとトークン認証のAPIを作成してみる(環境構築)

 

今回はLaravelでログインとトークン認証のAPIを作成する上での環境構築を中心にまとめてみました。この後に実際のAPIを実装していくことになりますが、そちらは次回記事「Laravelでログインとトークン認証のAPIを作成してみる(API実装)」にて詳しくまとめていきたいと思います。

この記事を書いた人

オガワ シンヤ

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

  • Twitter

コメントフォーム

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。

内容に問題なければ、お名前・ハンドルネームとメールアドレスを入力いただき、下記の「コメントを送信」ボタンを押してください。

CAPTCHA


この記事もよく読まれています

Scroll to Top
ご質問・ご相談はありませんか ?