(feat AuthControlller, Update User.php, auth.php, web.php]
This commit is contained in:
parent
2cce89b6c4
commit
4afdcada62
@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
|||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
|
||||||
class AuthController extends Controller
|
class AuthController extends Controller
|
||||||
{
|
{
|
||||||
@ -12,19 +13,20 @@ class AuthController extends Controller
|
|||||||
public function login(Request $request)
|
public function login(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'nama' => 'required|string',
|
'nama' => 'required',
|
||||||
'password' => 'required|int',
|
'password' => 'required',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// Cek kredensial
|
// cari user berdasarkan nama
|
||||||
if (!Auth::attempt($request->only('nama', 'password'))) {
|
$user = User::where('nama', $request->nama)->first();
|
||||||
|
|
||||||
|
if (!$user || !Hash::check($request->password, $user->password)) {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'message' => 'Login gagal, periksa kembali nama atau password.'
|
'message' => 'Nama atau password salah'
|
||||||
], 401);
|
], 401);
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = User::where('nama', $request->nama)->first();
|
// buat token Sanctum
|
||||||
|
|
||||||
$token = $user->createToken('auth_token')->plainTextToken;
|
$token = $user->createToken('auth_token')->plainTextToken;
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
|
@ -8,6 +8,7 @@ use Illuminate\Foundation\Auth\User as Authenticatable;
|
|||||||
use Illuminate\Notifications\Notifiable;
|
use Illuminate\Notifications\Notifiable;
|
||||||
use Laravel\Sanctum\HasApiTokens;
|
use Laravel\Sanctum\HasApiTokens;
|
||||||
|
|
||||||
|
|
||||||
class User extends Authenticatable
|
class User extends Authenticatable
|
||||||
{
|
{
|
||||||
/** @use HasFactory<\Database\Factories\UserFactory> */
|
/** @use HasFactory<\Database\Factories\UserFactory> */
|
||||||
@ -49,6 +50,6 @@ class User extends Authenticatable
|
|||||||
|
|
||||||
public function getAuthIdentifierName()
|
public function getAuthIdentifierName()
|
||||||
{
|
{
|
||||||
return 'nama';
|
return 'id';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,11 @@ return [
|
|||||||
'driver' => 'session',
|
'driver' => 'session',
|
||||||
'provider' => 'users',
|
'provider' => 'users',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'api' => [
|
||||||
|
'driver' => 'sanctum',
|
||||||
|
'provider' => 'users',
|
||||||
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -8,8 +8,10 @@
|
|||||||
use App\Http\Controllers\SalesController;
|
use App\Http\Controllers\SalesController;
|
||||||
use App\Http\Controllers\UserController;
|
use App\Http\Controllers\UserController;
|
||||||
use App\Http\Controllers\TransaksiController;
|
use App\Http\Controllers\TransaksiController;
|
||||||
|
use App\Http\Controllers\LaporanController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
|
||||||
Route::prefix('api')->group(function () {
|
Route::prefix('api')->group(function () {
|
||||||
// Backend API
|
// Backend API
|
||||||
Route::apiResource('nampan', NampanController::class);
|
Route::apiResource('nampan', NampanController::class);
|
||||||
@ -54,7 +56,7 @@ Route::prefix('api')->group(function () {
|
|||||||
Route::delete('foto/reset/{user_id}', [FotoSementaraController::class, 'reset']);
|
Route::delete('foto/reset/{user_id}', [FotoSementaraController::class, 'reset']);
|
||||||
|
|
||||||
Route::post('/login', [AuthController::class, 'login'])->middleware('guest')->name('login');
|
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
|
// Frontend SPA
|
||||||
|
Loading…
Reference in New Issue
Block a user