Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
bagaimana cara memvalidasi jwt token di laravel, token di buat di node js
adakah cara untuk memvalidasi token yang di buat sebuah service node js.
token ini akan di validasi di laravel untuk authentication.
payload jwt dari node js kurang lebih seperti ini:
{
"name": "bagus",
"email": "bagus@gmail.com",
"phone": "08....",
"id": 1,
"iat": 1679156780,
"exp": 1679185580
}
di laravel sudah terinstal tymon/jwt-auth
yang saya tau, payload yang di keluarkan
{
"iss": "https://mydomain.com/api/auth/login",
"iat": 1679157027,
"nbf": 1679157027,
"jti": "lJezfzjVpdjLFHJU",
"sub": 4,
"prv": "87e0af1ef9fd15812fdec97153a14e0b047546bb"
}
2 Jawaban:
<div>saya pribadi belum pernah bikin jwt system di service yang berbeda.<br>Apakah kamu sudah mencoba? jika sudah.. masalahnya apa? pastikan menggunakan SECRET ENV yang sama untuk tokennya</div>
<div>Anda harus Ikuti langkah-langkah ini untuk memvalidasi token JWT di Laravel menggunakan paket tymon/jwt-auth:<br><br><br></div><div>Instal paket:</div><pre>composer require tymon/jwt-auth</pre><div><br><br></div><div>Hasilkan rahasia JWT:</div><pre>php artisan jwt:secret</pre><div><br></div><div><br><br></div><div>Buat middleware untuk menangani validasi token:</div><pre>php artisan make:middleware JwtMiddleware</pre><div><br></div><div>Ini akan membuat file bernama JwtMiddleware.php di direktori app/Http/Middleware Anda.<br>Mekanisme validasi token harus ditambahkan ke middleware:</div><pre>use Tymon\JWTAuth\Facades\JWTAuth; use Tymon\JWTAuth\Exceptions\JWTException;
public function handle($request, Closure $next) { try { $token = JWTAuth::parseToken(); $payload = $token->getPayload(); } catch (JWTException $e) { return response()->json(['error' => 'Token is invalid'], 401); }
if (!$payload) {
return response()-&gt;json(['error' =&gt; 'Token is invalid'], 401);
}
$request-&gt;attributes-&gt;add(['jwt_payload' =&gt; $payload]);
return $next($request);
}</pre><div><br><br></div><div>Token akan diuraikan oleh middleware ini, dan payload akan diekstraksi dan ditambahkan ke atribut permintaan.<br><br>Tambahkan middleware ke rute yang diperlukan autentikasi:</div><pre>Route::middleware('jwt')->get('/protected', function () { return response()->json(['message' => 'Access granted']); });</pre><div><br><br></div><div>Sebelum memberikan akses, rute contoh ini akan membutuhkan penerapan JwtMiddleware.<br><br>Mengenai paruh kedua pertanyaan Anda, jika Anda ingin memvalidasi token yang dihasilkan dalam layanan Node.js, Anda dapat mengurai token di Laravel menggunakan fungsi JWTAuth::parseToken() yang sama. Namun, Anda perlu memastikan bahwa rahasia yang sama digunakan untuk menandatangani token di kedua layanan, dan muatannya kompatibel dengan logika autentikasi di Laravel.</div>