From 1bc9a973a2a98d050502fc56edbf946e5f1fa9ca Mon Sep 17 00:00:00 2001 From: hskwon Date: Thu, 17 Jul 2025 16:28:48 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20(=EA=B0=9C=EB=B0=9C=EC=84=9C=EB=B2=84=20=EC=A0=95?= =?UTF-8?q?=EC=83=81=ED=99=94)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/ApiController.php | 13 +++++++------ app/Http/Responses/CustomLoginResponse.php | 18 +++++++++--------- app/Providers/FortifyServiceProvider.php | 14 ++++++-------- public/admin/css/custom.css | 2 +- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/app/Http/Controllers/Api/ApiController.php b/app/Http/Controllers/Api/ApiController.php index 0fabef7..e3ba61d 100644 --- a/app/Http/Controllers/Api/ApiController.php +++ b/app/Http/Controllers/Api/ApiController.php @@ -46,7 +46,8 @@ class ApiController extends Controller */ public function debugApikey() { - return response()->json(['message' => 'API Key 인증 성공']); + $message = 'API Key 인증 성공'; + return response()->json(['message' => $message]); } @@ -58,9 +59,9 @@ public function debugApikey() * @OA\RequestBody( * required=true, * @OA\JsonContent( - * required={"USER_ID", "USER_PWD"}, - * @OA\Property(property="USER_ID", type="string", example="admin"), - * @OA\Property(property="USER_PWD", type="string", example="1234") + * required={"user_id", "user_pwd"}, + * @OA\Property(property="user_id", type="string", example="test"), + * @OA\Property(property="user_pwd", type="string", example="testpass") * ) * ), * @OA\Response( @@ -68,7 +69,7 @@ public function debugApikey() * description="로그인 성공", * @OA\JsonContent( * @OA\Property(property="message", type="string"), - * @OA\Property(property="USER_TOKEN", type="string") + * @OA\Property(property="user_token", type="string") * ) * ), * @OA\Response(response=401, description="로그인 실패") @@ -111,7 +112,7 @@ public function login(Request $request) return response()->json([ 'message' => '로그인 성공', - 'USER_TOKEN' => $user->USER_TOKEN, + 'user_token' => $user->remember_token, ]); } diff --git a/app/Http/Responses/CustomLoginResponse.php b/app/Http/Responses/CustomLoginResponse.php index 20e8755..c9d3457 100644 --- a/app/Http/Responses/CustomLoginResponse.php +++ b/app/Http/Responses/CustomLoginResponse.php @@ -20,22 +20,22 @@ public function toResponse($request) $token = $user->remember_token; if(!$token || substr($user->reg_date,0,10) < date('Y-m-d', strtotime('-15 day'))) { $token = hash('sha256', $user->mb_id . now()->format('YmdHis')); - User::where('USER_NO', $user->mb_num)->update(['USER_TOKEN' => $token]); + User::where('mb_num', $user->mb_num)->update(['remember_token' => $token]); } // ✅ 세션에 유저 정보 저장 session(['Adm' => [ - 'idx' => $user->USER_NO, - 'id' => $user->USER_ID, - 'name' => $user->USER_NCNM, - 'level' => $user->LEVEL, - 'part' => $user->USER_PART, - 'dept' => $user->USER_DEPT, + 'idx' => $user->mb_num, + 'id' => $user->mb_id, + 'name' => $user->mb_name, + 'level' => $user->mb_level, + 'tenant' => $user->tn_num, + 'type' => $user->mb_type, 'token' => $token, ]]); - Session::put('USER_TOKEN', $token); - Session::put('USER_ID', $user->mb_id); + Session::put('user_token', $token); + Session::put('user_id', $user->mb_id); $redirectTo = session('redirect_to', route('dashboard')); session()->forget('redirect_to'); diff --git a/app/Providers/FortifyServiceProvider.php b/app/Providers/FortifyServiceProvider.php index 397c45c..13dacf1 100644 --- a/app/Providers/FortifyServiceProvider.php +++ b/app/Providers/FortifyServiceProvider.php @@ -50,14 +50,12 @@ public function boot(): void $user = Member::where('mb_id', $request->USER_ID)->first(); if(!$user) return null; - // 기존 sha256 방식 확인 - if ($user && strtoupper(hash('sha256', $request->password)) === $user->mb_pass) { - return $user; - } - - // bcrypt 방식으로 저장된 사용자 로그인 처리 - else if (Hash::check($request->password, $user->mb_pass)) { - return $user; + if (Str::startsWith($user->mb_pass, '$2y$')) { + // bcrypt로 해싱된 경우 + if(Hash::check($request->password, $user->mb_pass)) return $user; + } else { + // sha256으로 해싱된 경우 + if(strtoupper(hash('sha256', $request->password))) return $user;; } return null; diff --git a/public/admin/css/custom.css b/public/admin/css/custom.css index 87ea767..9a4a047 100644 --- a/public/admin/css/custom.css +++ b/public/admin/css/custom.css @@ -121,7 +121,7 @@ #columns figure img { .columns-figure-title > span.card-title{ - font-size: 10pt;ㅁ + font-size: 10pt; /*font-weight: bold;*/ line-height: 20px; }