Compare commits

..

2 Commits

Author SHA1 Message Date
timotiabbauftech
e1a0711082 Merge branch 'production' of https://git.abbauf.com/Magang-2025/Kasir into production 2025-09-04 14:13:56 +07:00
timotiabbauftech
4afdcada62 (feat AuthControlller, Update User.php, auth.php, web.php] 2025-09-04 14:13:53 +07:00
4 changed files with 19 additions and 9 deletions

View File

@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
class AuthController extends Controller
{
@ -12,19 +13,20 @@ class AuthController extends Controller
public function login(Request $request)
{
$request->validate([
'nama' => 'required|string',
'password' => 'required|int',
'nama' => 'required',
'password' => 'required',
]);
// Cek kredensial
if (!Auth::attempt($request->only('nama', 'password'))) {
// cari user berdasarkan nama
$user = User::where('nama', $request->nama)->first();
if (!$user || !Hash::check($request->password, $user->password)) {
return response()->json([
'message' => 'Login gagal, periksa kembali nama atau password.'
'message' => 'Nama atau password salah'
], 401);
}
$user = User::where('nama', $request->nama)->first();
// buat token Sanctum
$token = $user->createToken('auth_token')->plainTextToken;
return response()->json([

View File

@ -8,6 +8,7 @@ use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
/** @use HasFactory<\Database\Factories\UserFactory> */
@ -49,6 +50,6 @@ class User extends Authenticatable
public function getAuthIdentifierName()
{
return 'nama';
return 'id';
}
}

View File

@ -40,6 +40,11 @@ return [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'sanctum',
'provider' => 'users',
],
],
/*

View File

@ -8,8 +8,10 @@
use App\Http\Controllers\SalesController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\TransaksiController;
use App\Http\Controllers\LaporanController;
use Illuminate\Support\Facades\Route;
Route::prefix('api')->group(function () {
// Backend API
Route::apiResource('nampan', NampanController::class);
@ -55,7 +57,7 @@ Route::prefix('api')->group(function () {
Route::delete('foto/reset/{user_id}', [FotoSementaraController::class, 'reset']);
Route::post('/login', [AuthController::class, 'login'])->middleware('guest')->name('login');
Route::post('/logout', [AuthController::class, 'logout'])->middleware('auth');
Route::post('/logout', [AuthController::class, 'logout'])->middleware('auth:sanctum')->name('logout');
});
// Frontend SPA