🌟

【ログイン機能】jwt(JSON Web Token Authentication)でログイン機能実装手順(Laravel/Nuxt)

2021/07/05に公開

Laravel側

https://jwt-auth.readthedocs.io/en/docs/laravel-installation/

JWTライブラリ(tymon/jwt-auth)をインストール

Laravel 6 の場合はバージョンに:1.0.0-rc.5を指定しないとエラーになります

composer require tymon/jwt-auth:1.0.0-rc.5

設定を一部変更

以下コマンドでconfig/jwt.phpというファイルを生成

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

jwt.phpのprovidersをTymon\JWTAuth\Providers\JWT\Namshi::classに変更

'providers' => [

/*
|--------------------------------------------------------------------------
| JWT Provider
|--------------------------------------------------------------------------
|
| Specify the provider that is used to create and decode the tokens.
|
*/

// 'jwt' => Tymon\JWTAuth\Providers\JWT\Lcobucci::class,
'jwt' => Tymon\JWTAuth\Providers\JWT\Namshi::class,

]

標準の設定(JWTトークンを生成する処理に非推奨)でいくと以下エラーが発生

Tymon\JWTAuth\Exceptions\JWTException: Could not create token: Implicit conversion of keys from strings is deprecated. Please use InMemory or LocalFileReference classes. 

秘密鍵(シークレット)を生成

キーを生成

php artisan jwt:secret

トークンに署名するために使用されるキー

APIをチェック

Nuxt側

モジュール(nuxtjs/auth-next)のインストール

npm install @nuxtjs/auth-next @nuxtjs/axios

参考
https://dev-yakuza.posstree.com/laravel/jwt-signin/

https://jun-app.com/articles/laravel-nuxt-jwt-spa/#larvel-にjwt認証機能を追加する

https://auth.nuxtjs.org/guide/setup/

https://lessons.lec.cafe/nuxtjs_forms/03.validation.html#バリデーションの実装

Discussion