validate(); //$this->form->authenticate(); // 呼叫遠端 API 驗證帳號密碼 $response = Http::withOptions(['verify' => false]) ->post(config('services.backend.url').'/api/login', [ 'email' => $this->form->email, 'password' => $this->form->password, ]); if ($response->failed()) { throw \Illuminate\Validation\ValidationException::withMessages([ 'email' => '登入失敗,請檢查帳號或密碼。', ]); } $data = $response->json("data"); // 假設遠端回傳 token + user profile $token = $data['token']; $userData = $data['user']; // 在本地建立/更新使用者 $user = \App\Models\User::updateOrCreate( [ 'id' => $userData['id']], [ 'name' => $userData['name'], 'email' => $userData['email'], 'phone' => $userData['phone'], 'birthday' => $userData['birthday'], 'gender' => $userData['gender'], 'status' => $userData['status'], 'email_verified_at' => $userData['email_verified_at'], 'created_at' => $userData['created_at'], 'updated_at' => $userData['updated_at'], 'api_token' => $token, ] ); Auth::login($user, remember: true); Session::regenerate(); //$this->redirectIntended(default: route('dashboard', absolute: false), navigate: true); $user = auth()->user(); if ($user->hasRole('User')) { $this->redirect(route('dashboard'), navigate: true); } else { $this->redirect(route('admin.dashboard'), navigate: true); } } }; ?>
@if (Route::has('password.request')) {{ __('Forgot your password?') }} @endif {{ __('Log in') }}