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->post('/api/v1/emr/lab/detail', 'NUHATEMP::detail');
|
||||||
|
|
||||||
$routes->group('api', ['filter' => 'auth'], function($routes) {
|
$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');
|
$routes->post('/api/auth/login', 'Auth::login');
|
||||||
|
|||||||
@ -98,7 +98,7 @@ class Auth extends Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Buat JWT payload
|
// Buat JWT payload
|
||||||
$exp = time() + 86400;
|
$exp = time() + 864000;
|
||||||
$payload = [
|
$payload = [
|
||||||
'userid' => $row['id'],
|
'userid' => $row['id'],
|
||||||
'roleid' => $row['role_id'],
|
'roleid' => $row['role_id'],
|
||||||
@ -117,7 +117,7 @@ class Auth extends Controller {
|
|||||||
$this->response->setCookie([
|
$this->response->setCookie([
|
||||||
'name' => 'token', // nama token
|
'name' => 'token', // nama token
|
||||||
'value' => $jwt, // value dari jwt yg sudah di hash
|
'value' => $jwt, // value dari jwt yg sudah di hash
|
||||||
'expire' => 86400, // 1 hari
|
'expire' => 864000, // 10 hari
|
||||||
'path' => '/', // valid untuk semua path
|
'path' => '/', // valid untuk semua path
|
||||||
'secure' => true, // set true kalau sudah HTTPS
|
'secure' => true, // set true kalau sudah HTTPS
|
||||||
'httponly' => true, // dipakai agar cookie berikut tidak dapat diakses oleh javascript
|
'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