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]
コメント