Update Dashboard, Result dan Sample Controller dengan JWT
This commit is contained in:
parent
f7665c6628
commit
8920ab447e
@ -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');
|
||||
|
||||
@ -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
|
||||
|
||||
34
app/Controllers/Dashboard.php
Normal file
34
app/Controllers/Dashboard.php
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
34
app/Controllers/Result.php
Normal file
34
app/Controllers/Result.php
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
34
app/Controllers/Sample.php
Normal file
34
app/Controllers/Sample.php
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user