Laravel + Nuxt.js でプログラム ②(JWT導入)

laravel+Nuxt.js
この記事は約3分で読めます。
記事内に広告が含まれます。

JWT:ジョット(JsonWebToken)とはサーバ・クライアント間の通信をJSON形式の構造で行うものです。

スポンサーリンク

導入

[bash]
composer require tymon/jwt-auth "1.0.0"
[/bash]

シークレットを作成
[bash]
php artisan jwt:secret
[/bash]

設定

コンフィグファイルの編集

config/app.phpファイルを編集します

[php]
‘providers’ => [

// JWT Auth
Tymon\JWTAuth\Providers\LaravelServiceProvider::class,
// …..
],

‘aliases’ => [
// …..
‘JWTAuth’ => Tymon\JWTAuth\Facades\JWTAuth::class,
‘JWTFactory’ => Tymon\JWTAuth\Facades\JWTFactory::class,
// …..
],

[/php]

UserテーブルをModels配下に移動

初期状態ではUserテーブルがappの下に配置されています。一般的にはmodelsディレクトリーの下に置く場合が多いと思いますので慣例に従って配置場所を変更します。Modelsディレクトリを作成しUser.phpを移動します。

[bash]
% mkdir app/Models
% mv app/User.php app/Models
[/bash]
配置はこんな感じ。

これに伴って修正するファイルは以下の4フィルになります。
app/Models/User.php
[php]
namespace App\Models;
[/php]

app/Http/Controllers/Auth/RegisterController.php
[php]
use App\Models\User;
[/php]

database/factories/UserFactory.php
[php]
use App\Models\User;
[/php]

config/auth.php
[php]
‘providers’ => [
‘users’ => [
‘driver’ => ‘eloquent’,
//’model’ => App\User::class, //←この行を削除
‘model’ => App\Models\User::class, //追加
],
],
[/php]

Authファイルの編集

config/auth.php
[php]

// guardをapiに
‘defaults’ => [
‘guard’ => ‘api’,
‘passwords’ => ‘users’,
],

// apiのdriverをjwtに
‘guards’ => [
‘web’ => [
‘driver’ => ‘session’,
‘provider’ => ‘users’,
],

‘api’ => [
‘driver’ => ‘jwt’, //←ここを変更
‘provider’ => ‘users’,
‘hash’ => false,
],
],
[/php]

コメント

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