From 88a5e048afb3d280b22732c5d1f49a1c6d0a1fad Mon Sep 17 00:00:00 2001 From: huangguancheng <huangguancheng@bestfulfill> Date: Mon, 17 Feb 2025 15:31:37 +0800 Subject: [PATCH] =?UTF-8?q?googleAds=E5=B9=BF=E5=91=8A=E8=B4=A6=E5=8F=B7-?= =?UTF-8?q?=E6=8E=88=E6=9D=83-=E7=BB=91=E5=AE=9A-=E6=BF=80=E6=B4=BB?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=9B=B4=E6=96=B0=20fixed=20revokeRefreshTok?= =?UTF-8?q?en?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/OAuthController.php | 8 +++++--- app/service/GoogleOAuthService.php | 28 ++++++++++++++-------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/app/controller/OAuthController.php b/app/controller/OAuthController.php index 49decac..79685a8 100644 --- a/app/controller/OAuthController.php +++ b/app/controller/OAuthController.php @@ -8,6 +8,7 @@ use support\Request; use support\Response; use DI\Annotation\Inject; use app\model\ThirdUserAdvertiser; +use app\model\BpsAdsMerchantRelation; use app\model\ThirdUser; use support\Redis; @@ -188,16 +189,17 @@ class OAuthController $merchant_id = $request->input('merchant_id') ?? $request->jwtClaims['merchant_id']; // 通过 advertiser_id 查询 ThirdUserAdvertiser,联表查询 ThirdUser 数据 - $thirdUser = ThirdUser::where('merchant_id', $merchant_id)->where('third_type', 'google')->find(); // 获取第一个结果 + $thirdUser = BpsAdsMerchantRelation::where('merchant_id', $merchant_id)->where('platform', 2)->find(); // 获取第一个结果 // dump($thirdUser); return ($uid); if (!$thirdUser) { return $this->errorResponse(300, '未授权'); } -// dump($userAdvertiser->googleUser->access_token); $accessToken = $thirdUser->access_token; +// dump($accessToken); +// return ($merchant_id); $googleOAuthService = new GoogleOAuthService(); - $googleOAuthService->revokeToken($accessToken, $thirdUser->id); + $googleOAuthService->revokeToken($accessToken, $merchant_id); return $this->successResponse(['deleted' => 'success'], $request); } diff --git a/app/service/GoogleOAuthService.php b/app/service/GoogleOAuthService.php index edd71f4..0ebdcc8 100644 --- a/app/service/GoogleOAuthService.php +++ b/app/service/GoogleOAuthService.php @@ -57,7 +57,7 @@ class GoogleOAuthService { $clientId = getenv('GOOGLE_CLIENT_ID'); $redirectUri = getenv('GOOGLE_REDIRECT_URI'); - $scope = 'https://www.googleapis.com/auth/adwords'; + $scope = 'https://www.googleapis.com/auth/adwords https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email'; $responseType = 'code'; $accessType = 'offline'; @@ -332,7 +332,7 @@ class GoogleOAuthService $this->queue($options); } - public function revokeToken($accessToken, $third_user_id) + public function revokeToken($accessToken, $merchantId) { $client = new Client(); $client->post('https://oauth2.googleapis.com/revoke', [ @@ -342,18 +342,18 @@ class GoogleOAuthService ]); // 在数据库中删除或标记该`access_token(其实是refresh_token)`为无效 - ThirdUserAdvertiser::where('doc_', $third_user_id)->delete(); - - $tableName = 'bps_third_user'; - $tableName = getenv('DB_PG_SCHEMA') ? getenv('DB_PG_SCHEMA') . '.' . $tableName : 'bps' . $tableName; - $sql = "UPDATE {$tableName} SET access_token = :access_token WHERE id = :id"; - $data = [ - 'access_token' => '', // 这里的 $accessToken 是您想要匹配的值 - 'id' => $third_user_id, // 这里的 $accessToken 是您想要匹配的值 - ]; - // 执行 SQL 语句 - $result = ThinkDb::execute($sql, $data); -// ThirdUser::where('access_token', $accessToken)->delete(); + BpsAdsMerchantRelation::where('merchant_id', $merchantId)->where('platform',2)->delete(); +// +// $tableName = 'bps_third_user'; +// $tableName = getenv('DB_PG_SCHEMA') ? getenv('DB_PG_SCHEMA') . '.' . $tableName : 'bps' . $tableName; +// $sql = "UPDATE {$tableName} SET access_token = :access_token WHERE id = :id"; +// $data = [ +// 'access_token' => '', // 这里的 $accessToken 是您想要匹配的值 +// 'id' => $third_user_id, // 这里的 $accessToken 是您想要匹配的值 +// ]; +// // 执行 SQL 语句 +// $result = ThinkDb::execute($sql, $data); +//// ThirdUser::where('access_token', $accessToken)->delete(); }