0%

Programmingプログラミングナレッジ

Posted:2019.10.18

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

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 Illuminate\Database\Seeder;

class UsersSeeder extends Seeder {
 use \Illuminate\Foundation\Testing\WithFaker;
 public function run() {
  $users = factory(App\User::class, 5)->create();
 }
}

 

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

$ php artisan db:seed --class UsersSeeder

 

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

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

 

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

author
この記事を書いた人オガワ シンヤ
FacebookTwitter

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

制作のご依頼やお問い合わせ・パートナー業務提携のご相談はこちら

デザインやウェブ制作についてのご依頼やご相談、その他お問い合わせなどもお気軽にご連絡ください。フットワークの軽さやレスポンスの早さ、また豊富な経験や知識、技術を活かした対応力といったフリーランスクリエイターの強みでクライアント様、パートナー企業様のお力になります。デザインからコーディングやWordPress実装といったウェブサイト構築はもちろん、写真撮影や動画編集、コンテンツ制作からサイト運用サポートまで一括してお任せください。

ホームページ制作のご検討やウェブ運用でお悩みの経営者様や企業のウェブ担当者様をはじめ、個人で店舗を営んでいらっしゃるオーナー様、フリーで活動されているビジネスオーナー様はもちろんのこと、リソース不足でお困りの制作会社様、またクリエイターをお探しの代理店様も大歓迎です。

コンタクトをご希望の方はお手数ですが、下記よりお問い合わせフォームのページへアクセスしていただき、必要事項を入力の上メッセージを送信してください。確認でき次第すぐに折り返しご連絡致します。

こんな記事も読まれています

コメントもお気軽にどうぞ

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

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

CAPTCHA


ページトップへ
大阪市天王寺区のホームページ制作デザイン事務所(SOHO)DesignSupply.【デザインサプライ】