
Laravelでログインとトークン認証のAPIを作成してみる(環境構築)
PHPのフレームワークであるLaravelを使うといろんなウェブアプリケーションを作成することができます。今回はLaravelでのログインとユーザーのトークン認証ができるAPIの作成を備忘録として残しておきたいと思います。まずはユーザー用のDBテーブルを作成するためにマイグレーションの設定から行なっていきます。
認証ユーザー用のマイグレーションファイルを下記コマンドで新規作成していきます。するとdatabase/migrations/にマイグレーションファイルができます。
続いてユーザーのテストデータを作成するために、下記コマンドでSeederファイルを新規作成していきます。すると、database/seeds/にSeederファイルができるのが確認できます。
今回はLaravelでログインとトークン認証のAPIを作成する上での環境構築を中心にまとめてみました。この後に実際のAPIを実装していくことになりますが、そちらは次回記事「Laravelでログインとトークン認証のAPIを作成してみる(API実装)」にて詳しくまとめていきたいと思います。
$ 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カラムが追加されているのが確認できました。
続いてユーザーのテストデータを作成するために、下記コマンドで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を作成する上での環境構築を中心にまとめてみました。この後に実際のAPIを実装していくことになりますが、そちらは次回記事「Laravelでログインとトークン認証のAPIを作成してみる(API実装)」にて詳しくまとめていきたいと思います。categories
- WordPress(61)
- JavaScript(49)
- Vue.js(48)
- CSS(46)
- jQuery(34)
- Nuxt.js(22)
- Sass(21)
- Gulp(17)
- webpack(16)
- PHP(14)
- HTML(14)
- GSAP(11)
- React(10)
- Vite(9)
- Pug(9)
- Laravel(8)
- Cordova(8)
- Linux(7)
- Next.js(6)
- Apache(5)
- Shopify(4)
- REST API(4)
- Node.js(4)
- Smarty(3)
- Git(3)
- JSON(3)
- その他プログラミング(3)
- Google Apps API(3)
- Bootstrap(3)
- 環境構築・システム(3)
- TypeScript(2)
- EJS(2)
- RMS(2)
- Docker(2)
- Instagram API(2)
- Excel VBA(2)
- SVG(1)
- Dart(1)
- ECカートASP(1)
- Markdown(1)
- AMP(1)
- Nginx(1)
- XML(1)
- shellscript(1)
- Ruby(1)
- MySQL(1)