validate([ 'auth_token' => 'required|string|size:64', ]); $authTokenData = $this->tokenService->validateAuthToken($validated['auth_token']); if (!$authTokenData) { return $this->error( ErrorCode::TOKEN_INVALID, '認證令牌無效。' ); } if (now()->isAfter($authTokenData['expires_at'])) { return $this->error( ErrorCode::TOKEN_EXPIRED, '認證令牌已過期,請重新獲取。' ); } $result = $this->tokenService->generateAccessToken($authTokenData); return $this->success($result); } catch (ValidationException $e) { return $this->error( ErrorCode::VALIDATION_ERROR, ErrorCode::getMessage(ErrorCode::VALIDATION_ERROR), $e->errors() ); } catch (\Exception $e) { Log::error('Error generating access token', [ 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString(), ]); return $this->error( ErrorCode::SERVER_ERROR, ErrorCode::getMessage(ErrorCode::SERVER_ERROR) ); } } }