{"id":1233,"date":"2025-11-26T13:30:24","date_gmt":"2025-11-26T13:30:24","guid":{"rendered":"https:\/\/gurututorku.com\/blog\/?p=1233"},"modified":"2026-02-02T07:48:31","modified_gmt":"2026-02-02T07:48:31","slug":"tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register","status":"publish","type":"post","link":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/","title":{"rendered":"Tutorial Laravel 12 &#8211; Membuat Web Point of sales (POS) &#8211; Bagian #1 (Backend Laravel API Sanctum untuk login dan register)"},"content":{"rendered":"\n<p>Web POS (Point of Sale) adalah aplikasi berbasis web yang digunakan untuk mengelola transaksi penjualan di toko, kafe, restoran, atau bisnis retail lainnya. Sistem ini membantu kasir dalam mencatat penjualan, mengelola stok barang, mencetak struk, hingga membuat laporan penjualan secara otomatis. Karena berbasis web, POS dapat diakses dari browser tanpa instalasi, dapat digunakan di berbagai perangkat seperti laptop, tablet, atau komputer kasir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. Persiapan Awal<\/strong><\/h2>\n\n\n\n<p>Pastikan sudah terinstal:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PHP \u2265 8.1<\/li>\n\n\n\n<li>Composer<\/li>\n\n\n\n<li>MySQL<\/li>\n\n\n\n<li>Laravel (bisa buat via composer)<\/li>\n<\/ul>\n\n\n\n<p>Buat project baru:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">composer create-project laravel\/laravel pos-api\ncd pos-api<\/pre>\n\n\n\n<p>Konfigurasi database di file&nbsp;.env:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">DB_CONNECTION=mysql\nDB_DATABASE=posdb\nDB_USERNAME=root\nDB_PASSWORD=<\/pre>\n\n\n\n<p>Kemudian migrasikan tabel default:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">php artisan migrate<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. Install Laravel Sanctum<\/strong><\/h2>\n\n\n\n<p>Sanctum adalah paket API Token (untuk login).<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">composer require laravel\/sanctum\nphp artisan vendor:publish --tag=sanctum-migrations\nphp artisan migrate<\/pre>\n\n\n\n<p><strong>Cara Menambah Middleware di Laravel 12 (TIDAK ADA Kernel.php)<\/strong><\/p>\n\n\n\n<p>Sebagai gantinya, middleware diatur di:<\/p>\n\n\n\n<p>\u00a0&#x2714; bootstrap\/app.php<\/p>\n\n\n\n<p>Laravel 12 memakai definisi middleware seperti ini:<\/p>\n\n\n\n<p>\u00a0&#x1f4cc; Tambahkan middleware Sanctum ke API group<\/p>\n\n\n\n<p><strong>Edit:<\/strong><\/p>\n\n\n\n<p>bootstrap\/app.php<\/p>\n\n\n\n<p>Tambahkan di bagian:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">-&gt;withMiddleware(function (Middleware $middleware) {\n$middleware-&gt;group('api', [\n\\Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful::class,\n\\Illuminate\\Routing\\Middleware\\ThrottleRequests::class.':api',\n\\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\n]);\n})<\/pre>\n\n\n\n<p><strong>Penjelasan<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>EnsureFrontendRequestsAreStateful \u2192 memungkinkan SPA seperti Vue.js menggunakan Sanctum token.<\/li>\n\n\n\n<li>ThrottleRequests:api \u2192 membatasi request API.<\/li>\n\n\n\n<li>SubstituteBindings \u2192 mendukung route model binding otomatis.<\/li>\n<\/ul>\n\n\n\n<p><strong>Tidak perlu membuat Kernel.php, karena Laravel 12 sudah memindahkan registrasi middleware ke bootstrap\/app.php.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. Buat Auth API (Register + Login)<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">php artisan make:controller AuthController<\/pre>\n\n\n\n<p>Isi lengkap&nbsp;<code>app\/Http\/Controllers\/AuthController.php<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php\nnamespace App\\Http\\Controllers;\nuse App\\Models\\User;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\n\nclass AuthController extends Controller\n{\npublic function register(Request $request)\n{\n$request-&gt;validate([\n'name' =&gt; 'required',\n'email' =&gt; 'required|unique:users',\n'password' =&gt; 'required|min:6'\n]);\n\n$user = User::create([\n'name' =&gt; $request-&gt;name,\n'email' =&gt; $request-&gt;email,\n'password' =&gt; Hash::make($request-&gt;password)\n]);\n\nreturn response()-&gt;json(['message' =&gt; 'Register success', 'user' =&gt; $user]);\n}\n\npublic function login(Request $request)\n{\n$user = User::where('email', $request-&gt;email)-&gt;first();\n\nif (!$user || !Hash::check($request-&gt;password, $user-&gt;password)) {\nreturn response()-&gt;json(['message' =&gt; 'Email atau password salah'], 401);\n}\n\n$token = $user-&gt;createToken(\"pos-token\")-&gt;plainTextToken;\n\nreturn response()-&gt;json([\n\"user\" =&gt; $user,\n\"token\" =&gt; $token\n]);\n}\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. Tambahkan Routes<\/strong><\/h2>\n\n\n\n<p>Edit file&nbsp;routes\/web.php:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php\n\nuse Illuminate\\Support\\Facades\\Route;\nuse App\\Http\\Controllers\\AuthController;\nuse App\\Http\\Controllers\\CategoryController;\nuse App\\Http\\Controllers\\ProductController;\n\nRoute::prefix('api')-&gt;group(function () {\nRoute::post('\/register', [AuthController::class, 'register']);\nRoute::post('\/login', [AuthController::class, 'login']);\n});\n\nRoute::middleware('auth:sanctum')-&gt;group(function () {\n  &nbsp; Route::apiResource('\/categories', CategoryController::class);\n  &nbsp; Route::apiResource('\/products', ProductController::class);\n});<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. Install Postman untuk cek API<\/strong><\/h2>\n\n\n\n<p>Anda bisa menggunakan postman versi web atau desktop dengan download disini :&nbsp;<a href=\"https:\/\/www.postman.com\/downloads\/\">https:\/\/www.postman.com\/downloads\/<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Setelah download, install dan buka postman, lalu buat collection misalnya \u201cPOS-API\u201d -&gt; sub folder \u201cAuth\u201d.<\/strong><\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5.1 Buka Endpoint CSRF Token<\/strong><\/h3>\n\n\n\n<p>Laravel Sanctum menyediakan endpoint:<\/p>\n\n\n\n<p><code>\/sanctum\/csrf-cookie<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>GET via Postman<\/strong><\/h3>\n\n\n\n<p>URL:<\/p>\n\n\n\n<p><code>http:\/\/localhost:8000\/sanctum\/csrf-cookie<\/code><\/p>\n\n\n\n<p>\u00a0&#x1f4cc; Pastikan set:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Method: GET<\/strong><\/li>\n\n\n\n<li><strong>Headers:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>Accept: application\/json<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Jika berhasil:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Response:\u00a0<strong>204 No Content<\/strong><\/li>\n\n\n\n<li>Cookie baru muncul di Postman:\n<ul class=\"wp-block-list\">\n<li><code>XSRF-TOKEN<\/code><\/li>\n\n\n\n<li><code>laravel_session<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Lihat di tab&nbsp;<strong>Cookies<\/strong>&nbsp;\u2192 domain&nbsp;<code>localhost<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-22.png\" alt=\"\" class=\"wp-image-1241\" srcset=\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-22.png 1920w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-22-300x169.png 300w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-22-1024x576.png 1024w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-22-768x432.png 768w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-22-1536x864.png 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5.2 Kirim CSRF token ke Laravel<\/strong><\/h3>\n\n\n\n<p>Setelah step 1, Postman sekarang menyimpan cookie:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>XSRF-TOKEN<\/strong>\u00a0(encoded URL version)<\/li>\n\n\n\n<li><strong>laravel_session<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Untuk permintaan POST, Anda harus menambahkan&nbsp;<strong>header<\/strong>:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tambahkan header berikut di Postman:<\/strong><\/h3>\n\n\n\n<p><code>X-XSRF-TOKEN: {token hasil decode XSRF-TOKEN}<\/code><\/p>\n\n\n\n<p>Cara mendapatkan token:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Klik\u00a0<strong>Cookies<\/strong><\/li>\n\n\n\n<li>Pilih domain\u00a0<code>localhost<\/code><\/li>\n\n\n\n<li>Pilih\u00a0<strong>XSRF-TOKEN<\/strong><\/li>\n\n\n\n<li>Copy value \u2192 decode URL-nya<br>contoh token seperti:<code>eyJpdiI6Ik1qQXlnPT0iLCJ2YWx1ZSI6Im5FV0JQOWNXa0FvUndJTkVhY0JSbnc9PSIsIm1hYyI<\/code><br><code>6IjY0MTkyY2NmYWI2YmRkOTc2NWM5NmMxMTE2ZDJhNzQzOTZkZDUxMzlhN2M0NWUzMzhkNmM1YjljNjA<\/code><br><code>0MjY1MGIifQ%3D%3D<\/code><\/li>\n\n\n\n<li>Paste ke header\u00a0<strong>X-XSRF-TOKEN<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-23.png\" alt=\"\" class=\"wp-image-1242\" srcset=\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-23.png 1920w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-23-300x169.png 300w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-23-1024x576.png 1024w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-23-768x432.png 768w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-23-1536x864.png 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5.3 Mengirim Request POST \/register dengan CSRF<\/strong><\/h3>\n\n\n\n<p>Setup:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Method:<\/strong>\u00a0POST<\/li>\n\n\n\n<li><strong>URL:<\/strong><code>http:\/\/localhost:8000\/api\/register<\/code><\/li>\n\n\n\n<li><strong>Headers:<\/strong><code>Accept: application\/json<br>X-XSRF-TOKEN: [token hasil decode]<\/code><\/li>\n\n\n\n<li><strong>Body (JSON):<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">{<br>  &nbsp; \"name\": \"Engkus Kusnadi\",<br>  &nbsp; \"email\": \"engkuskusnadifuture@gmail.com\",<br>  &nbsp; \"password\": \"admin1234\"<br>}<\/pre>\n\n\n\n<p>Jika semua benar \u2192 Response berhasil tanpa 419.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-24.png\" alt=\"\" class=\"wp-image-1240\" srcset=\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-24.png 1920w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-24-300x169.png 300w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-24-1024x576.png 1024w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-24-768x432.png 768w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-24-1536x864.png 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p>Sekarang cek di localhost\/phpmyadmin dan cek di database posdb -&gt; klik tabel \u201cusers\u201d harusnya muncul datanya seperti berikut.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-25.png\" alt=\"\" class=\"wp-image-1257\" srcset=\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-25.png 1920w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-25-300x169.png 300w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-25-1024x576.png 1024w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-25-768x432.png 768w, https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2025\/11\/Screenshot-25-1536x864.png 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Web POS (Point of Sale) adalah aplikasi berbasis web yang digunakan untuk mengelola transaksi penjualan di toko, kafe, restoran, atau bisnis retail lainnya. Sistem ini membantu kasir dalam mencatat penjualan, mengelola stok barang, mencetak struk, hingga membuat laporan penjualan secara otomatis. Karena berbasis web, POS dapat diakses dari browser tanpa instalasi, dapat digunakan di berbagai perangkat seperti laptop, tablet, atau komputer kasir.<\/p>\n","protected":false},"author":1,"featured_media":824,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,38],"tags":[35,140,141,142,22,138,139,143,144],"class_list":["post-1233","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-framework-laravel","category-tutorial-programming","tag-laravel-controller","tag-laravel-model","tag-laravel-route","tag-laravel-view-blade","tag-php-framework","tag-tutorial-laravel-12","tag-tutorial-laravel-migrate","tag-tutorial-laravel-mysql","tag-web-berita-laravel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tutorial Laravel 12 - Membuat Web Point of sales (POS) - Bagian #1 (Backend Laravel API Sanctum untuk login dan register) - Gurututorku<\/title>\n<meta name=\"description\" content=\"laravel controller, laravel model, laravel route, laravel view blade, php framework, tutorial laravel 12, tutorial laravel migrate, tutorial laravel mysql, web berita laravel\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial Laravel 12 - Membuat Web Point of sales (POS) - Bagian #1 (Backend Laravel API Sanctum untuk login dan register) - Gurututorku\" \/>\n<meta property=\"og:description\" content=\"laravel controller, laravel model, laravel route, laravel view blade, php framework, tutorial laravel 12, tutorial laravel migrate, tutorial laravel mysql, web berita laravel\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/\" \/>\n<meta property=\"og:site_name\" content=\"Gurututorku\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-26T13:30:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-02T07:48:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"750\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"gtadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gtadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/\"},\"author\":{\"name\":\"gtadmin\",\"@id\":\"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/6c85586545a9930343cd35e9bf4bd9a2\"},\"headline\":\"Tutorial Laravel 12 &#8211; Membuat Web Point of sales (POS) &#8211; Bagian #1 (Backend Laravel API Sanctum untuk login dan register)\",\"datePublished\":\"2025-11-26T13:30:24+00:00\",\"dateModified\":\"2026-02-02T07:48:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/\"},\"wordCount\":373,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/6c85586545a9930343cd35e9bf4bd9a2\"},\"image\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png\",\"keywords\":[\"laravel controller\",\"laravel model\",\"laravel route\",\"laravel view blade\",\"php framework\",\"tutorial laravel 12\",\"tutorial laravel migrate\",\"tutorial laravel mysql\",\"web berita laravel\"],\"articleSection\":[\"PHP Framework Laravel\",\"Tutorial Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/\",\"url\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/\",\"name\":\"Tutorial Laravel 12 - Membuat Web Point of sales (POS) - Bagian #1 (Backend Laravel API Sanctum untuk login dan register) - Gurututorku\",\"isPartOf\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png\",\"datePublished\":\"2025-11-26T13:30:24+00:00\",\"dateModified\":\"2026-02-02T07:48:31+00:00\",\"description\":\"laravel controller, laravel model, laravel route, laravel view blade, php framework, tutorial laravel 12, tutorial laravel migrate, tutorial laravel mysql, web berita laravel\",\"breadcrumb\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#primaryimage\",\"url\":\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png\",\"contentUrl\":\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png\",\"width\":1000,\"height\":750},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/gurututorku.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial Laravel 12 &#8211; Membuat Web Point of sales (POS) &#8211; Bagian #1 (Backend Laravel API Sanctum untuk login dan register)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/gurututorku.com\/blog\/#website\",\"url\":\"https:\/\/gurututorku.com\/blog\/\",\"name\":\"Gurututorku - Learning today success tomorrow\",\"description\":\"Kelas dan Kursus Programming, Design, Multimedia dan Tutorial IT lainnya.\",\"publisher\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/6c85586545a9930343cd35e9bf4bd9a2\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gurututorku.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/6c85586545a9930343cd35e9bf4bd9a2\",\"name\":\"gtadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/cropped-gurututorku-favicon.png\",\"contentUrl\":\"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/cropped-gurututorku-favicon.png\",\"width\":512,\"height\":512,\"caption\":\"gtadmin\"},\"logo\":{\"@id\":\"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/gurututorku.com\/blog\"],\"url\":\"https:\/\/gurututorku.com\/blog\/author\/gtadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial Laravel 12 - Membuat Web Point of sales (POS) - Bagian #1 (Backend Laravel API Sanctum untuk login dan register) - Gurututorku","description":"laravel controller, laravel model, laravel route, laravel view blade, php framework, tutorial laravel 12, tutorial laravel migrate, tutorial laravel mysql, web berita laravel","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial Laravel 12 - Membuat Web Point of sales (POS) - Bagian #1 (Backend Laravel API Sanctum untuk login dan register) - Gurututorku","og_description":"laravel controller, laravel model, laravel route, laravel view blade, php framework, tutorial laravel 12, tutorial laravel migrate, tutorial laravel mysql, web berita laravel","og_url":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/","og_site_name":"Gurututorku","article_published_time":"2025-11-26T13:30:24+00:00","article_modified_time":"2026-02-02T07:48:31+00:00","og_image":[{"width":1000,"height":750,"url":"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png","type":"image\/png"}],"author":"gtadmin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gtadmin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#article","isPartOf":{"@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/"},"author":{"name":"gtadmin","@id":"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/6c85586545a9930343cd35e9bf4bd9a2"},"headline":"Tutorial Laravel 12 &#8211; Membuat Web Point of sales (POS) &#8211; Bagian #1 (Backend Laravel API Sanctum untuk login dan register)","datePublished":"2025-11-26T13:30:24+00:00","dateModified":"2026-02-02T07:48:31+00:00","mainEntityOfPage":{"@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/"},"wordCount":373,"commentCount":0,"publisher":{"@id":"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/6c85586545a9930343cd35e9bf4bd9a2"},"image":{"@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#primaryimage"},"thumbnailUrl":"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png","keywords":["laravel controller","laravel model","laravel route","laravel view blade","php framework","tutorial laravel 12","tutorial laravel migrate","tutorial laravel mysql","web berita laravel"],"articleSection":["PHP Framework Laravel","Tutorial Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/","url":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/","name":"Tutorial Laravel 12 - Membuat Web Point of sales (POS) - Bagian #1 (Backend Laravel API Sanctum untuk login dan register) - Gurututorku","isPartOf":{"@id":"https:\/\/gurututorku.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#primaryimage"},"image":{"@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#primaryimage"},"thumbnailUrl":"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png","datePublished":"2025-11-26T13:30:24+00:00","dateModified":"2026-02-02T07:48:31+00:00","description":"laravel controller, laravel model, laravel route, laravel view blade, php framework, tutorial laravel 12, tutorial laravel migrate, tutorial laravel mysql, web berita laravel","breadcrumb":{"@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#primaryimage","url":"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png","contentUrl":"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/laravel.png","width":1000,"height":750},{"@type":"BreadcrumbList","@id":"https:\/\/gurututorku.com\/blog\/tutorial-laravel-12-membuat-web-point-of-sales-pos-bagian-1-backend-laravel-api-sanctum-untuk-login-dan-register\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gurututorku.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial Laravel 12 &#8211; Membuat Web Point of sales (POS) &#8211; Bagian #1 (Backend Laravel API Sanctum untuk login dan register)"}]},{"@type":"WebSite","@id":"https:\/\/gurututorku.com\/blog\/#website","url":"https:\/\/gurututorku.com\/blog\/","name":"Gurututorku - Learning today success tomorrow","description":"Kelas dan Kursus Programming, Design, Multimedia dan Tutorial IT lainnya.","publisher":{"@id":"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/6c85586545a9930343cd35e9bf4bd9a2"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gurututorku.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/6c85586545a9930343cd35e9bf4bd9a2","name":"gtadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/cropped-gurututorku-favicon.png","contentUrl":"https:\/\/gurututorku.com\/blog\/wp-content\/uploads\/2024\/11\/cropped-gurututorku-favicon.png","width":512,"height":512,"caption":"gtadmin"},"logo":{"@id":"https:\/\/gurututorku.com\/blog\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/gurututorku.com\/blog"],"url":"https:\/\/gurututorku.com\/blog\/author\/gtadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/posts\/1233","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/comments?post=1233"}],"version-history":[{"count":29,"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/posts\/1233\/revisions"}],"predecessor-version":[{"id":1508,"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/posts\/1233\/revisions\/1508"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/media\/824"}],"wp:attachment":[{"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/media?parent=1233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/categories?post=1233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gurututorku.com\/blog\/wp-json\/wp\/v2\/tags?post=1233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}