This commit is contained in:
mahdahar 2025-09-09 16:50:10 +07:00
commit ef3125546f
5 changed files with 109 additions and 3 deletions

View File

@ -17,7 +17,11 @@ $routes->post('/api/v1/emr/lab/update-validasi', 'NUHATEMP::update');
$routes->post('/api/v1/emr/lab/detail', 'NUHATEMP::detail');
$routes->group('api', ['filter' => 'auth'], function($routes) {
$routes->get('coba-auth', 'Auth::coba');
// $routes->get('coba-auth', 'Auth::coba');
$routes->get('dashboard', 'Dashboard::index');
$routes->get('result', 'Result::index');
$routes->get('sample', 'Sample::index');
});
$routes->post('/api/auth/login', 'Auth::login');

View File

@ -98,7 +98,7 @@ class Auth extends Controller {
}
// Buat JWT payload
$exp = time() + 86400;
$exp = time() + 864000;
$payload = [
'userid' => $row['id'],
'roleid' => $row['role_id'],
@ -117,7 +117,7 @@ class Auth extends Controller {
$this->response->setCookie([
'name' => 'token', // nama token
'value' => $jwt, // value dari jwt yg sudah di hash
'expire' => 86400, // 1 hari
'expire' => 864000, // 10 hari
'path' => '/', // valid untuk semua path
'secure' => true, // set true kalau sudah HTTPS
'httponly' => true, // dipakai agar cookie berikut tidak dapat diakses oleh javascript

View File

@ -0,0 +1,34 @@
<?php
namespace App\Controllers;
use CodeIgniter\API\ResponseTrait;
use CodeIgniter\Controller;
use Firebase\JWT\JWT;
use Firebase\JWT\Key;
use Firebase\JWT\ExpiredException;
use Firebase\JWT\SignatureInvalidException;
use Firebase\JWT\BeforeValidException;
use CodeIgniter\Cookie\Cookie;
class Dashboard extends Controller {
use ResponseTrait;
public function index() {
$token = $this->request->getCookie('token');
$key = getenv('JWT_SECRET');
// Decode Token dengan Key yg ada di .env
$decodedPayload = JWT::decode($token, new Key($key, 'HS256'));
return $this->respond([
'status' => 'success',
'code' => 200,
'message' => 'Authenticated',
'data' => $decodedPayload
], 200);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Controllers;
use CodeIgniter\API\ResponseTrait;
use CodeIgniter\Controller;
use Firebase\JWT\JWT;
use Firebase\JWT\Key;
use Firebase\JWT\ExpiredException;
use Firebase\JWT\SignatureInvalidException;
use Firebase\JWT\BeforeValidException;
use CodeIgniter\Cookie\Cookie;
class Result extends Controller {
use ResponseTrait;
public function index() {
$token = $this->request->getCookie('token');
$key = getenv('JWT_SECRET');
// Decode Token dengan Key yg ada di .env
$decodedPayload = JWT::decode($token, new Key($key, 'HS256'));
return $this->respond([
'status' => 'success',
'code' => 200,
'message' => 'Authenticated',
'data' => $decodedPayload
], 200);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Controllers;
use CodeIgniter\API\ResponseTrait;
use CodeIgniter\Controller;
use Firebase\JWT\JWT;
use Firebase\JWT\Key;
use Firebase\JWT\ExpiredException;
use Firebase\JWT\SignatureInvalidException;
use Firebase\JWT\BeforeValidException;
use CodeIgniter\Cookie\Cookie;
class Sample extends Controller {
use ResponseTrait;
public function index() {
$token = $this->request->getCookie('token');
$key = getenv('JWT_SECRET');
// Decode Token dengan Key yg ada di .env
$decodedPayload = JWT::decode($token, new Key($key, 'HS256'));
return $this->respond([
'status' => 'success',
'code' => 200,
'message' => 'Authenticated',
'data' => $decodedPayload
], 200);
}
}