⚙️ APLIKASI SIMPEG (Provider API)
1. Instal Sanctum
bootstrap/app.php (jika Laravel 11), tambahkan:$app->withMiddleware([
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
]);
User menggunakan HasApiTokens:use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable {
use HasApiTokens, Notifiable;
}
4. Route Login dan Data Pegawai
Di routes/api.php:
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
use App\Models\Pegawai;Route::post(‘/login’, function (Request $request) {
$credentials = $request->only(‘username’, ‘password’);if (!Auth::attempt($credentials)) {
return response()->json([‘message’ => ‘Unauthorized’], 401);
}$user = Auth::user();
$token = $user->createToken(‘api-token’)->plainTextToken;return response()->json([
‘access_token’ => $token,
‘token_type’ => ‘Bearer’,
]);
});
Proteksi route data pegawai:
Route::middleware(‘auth:sanctum’)->get(‘/pegawai’, function () {
return \App\Models\Pegawai::all(); // sesuaikan model pegawai
});
TAMBAHKAN DI .env
untuk menyimpan url,username dan password untuk akses API
SIMPEG_URL=http://simpeg.test
SIMPEG_USERNAME=admin
SIMPEG_PASSWORD=password123
pada config/services.php
‘simpeg’ => [
‘url’ => env(‘SIMPEG_URL’),
‘username’ => env(‘SIMPEG_USERNAME’),
‘password’ => env(‘SIMPEG_PASSWORD’),
],
Pemakaian di kode di controller :
$response = Http::post(config(‘services.simpeg.url’) . ‘/api/login’, [
‘username’ => config(‘services.simpeg.username’),
‘password’ => config(‘services.simpeg.password’),
]);
🏛️ APLIKASI KOPERASI (Client/Consumer)
1. Ambil Token Login
Contoh pakai HTTP Client Laravel (dari Laravel 7+):

Leave a Reply