· 2 years ago · May 24, 2023, 11:10 AM
1<?php
2// Include library JWT
3require_once 'vendor/autoload.php';
4
5// Ambil token dari request header Authorization
6$authorizationHeader = $_SERVER['HTTP_AUTHORIZATION'];
7if (preg_match('/Bearer\s(\S+)/', $authorizationHeader, $matches)) {
8 $token = $matches[1];
9} else {
10 // Kirim pesan error jika token tidak ditemukan
11 http_response_code(401);
12 echo json_encode(['error' => 'Token not found']);
13 exit;
14}
15
16try {
17 // Validasi token dengan secret key
18 $payload = \Firebase\JWT\JWT::decode($token, 'secret_key', ['HS256']);
19
20 // Kirim data pengguna sebagai JSON response
21 echo json_encode([
22 'username' => $payload->username
23 ]);
24} catch (\Firebase\JWT\ExpiredException $e) {
25 // Kirim pesan error jika token sudah kadaluarsa
26 http_response_code(401);
27 echo json_encode(['error' => 'Token expired']);
28} catch (\Exception $e) {
29 // Kirim pesan error jika token tidak valid
30 http_response_code(401);
31 echo json_encode(['error' => 'Invalid token']);
32}
33?>
34