⚝
One Hat Cyber Team
⚝
Your IP:
192.168.31.6
Server IP:
192.168.1.11
Server:
Linux pams 6.1.0-29-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
PHP Version:
8.2.28
Buat File
|
Buat Folder
Upload File
Eksekusi
Dir :
~
/
var
/
www
/
apik
/
modules
/
Api
/
Controllers
/
Edit File: AuthController.php
<?php namespace Modules\Api\Controllers; use CodeIgniter\RESTful\ResourceController; use Firebase\JWT\JWT; class AuthController extends ResourceController { protected $format = 'json'; public function index(){ echo "APIK OK"; } public function login() { // Ambil payload JSON dari request $p = $this->request->getJSON(true); // Fallback jika input dikirim via Form Data biasa if (empty($p)) { $p = [ 'username' => $this->request->getVar('username'), 'password' => $this->request->getVar('password') ]; } // 1. Validasi Input Minimal if (empty($p['username']) || empty($p['password'])) { return $this->respond([ 'status' => false, 'message' => 'Username dan password tidak boleh kosong.' ], 400); } // 2. Gunakan User dan Password (Tanpa Cek Database) $staticUser = [ 'id_user' => 1, 'username' => 'apik@uidepok.ac.id', // Silakan ganti sesuai kebutuhan 'password' => '1Sampe10!@638', // Silakan ganti sesuai kebutuhan 'nama' => 'API APIK' ]; // 3. Verifikasi User & Password Statis if ($p['username'] !== $staticUser['username'] || $p['password'] !== $staticUser['password']) { return $this->respond([ 'status' => false, 'message' => 'Username atau password salah.' ], 401); } // 4. Konfigurasi Token JWT // Ambil secret key dari .env atau fallback ke string jika belum diset $secretKey = env('JWT_SECRET_KEY') ?? 'kunci_rahasia_bawaan_apik_2026'; $iat = time(); // Waktu token dibuat $exp = $iat + (3600 * 2); // Berlaku selama 2 jam // Isi data yang ingin disimpan di dalam token (jangan taruh data super sensitif di sini) $payload = [ 'iat' => $iat, 'exp' => $exp, 'uid' => $staticUser['id_user'], 'nama' => $staticUser['nama'] ]; // 5. Generate Token menggunakan Library Firebase JWT // Menggunakan algoritma HS256 $token = JWT::encode($payload, $secretKey, 'HS256'); // 6. Return Respon Sukses beserta Token return $this->respond([ 'status' => true, 'message' => 'Login berhasil.', 'token' => $token, 'expires_in' => $exp ], 200); } }
Simpan