From 292f540879ce80d33e6ed6891d0139e609d45296 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Thu, 24 Feb 2022 10:44:29 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E8=A7=A3=E7=BB=91=E6=97=B6=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/Http/Controllers/Auth/SocialiteAuthController.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/Endpoint/Api/Http/Controllers/Auth/SocialiteAuthController.php b/app/Endpoint/Api/Http/Controllers/Auth/SocialiteAuthController.php index c4b11b97..114370ec 100644 --- a/app/Endpoint/Api/Http/Controllers/Auth/SocialiteAuthController.php +++ b/app/Endpoint/Api/Http/Controllers/Auth/SocialiteAuthController.php @@ -222,8 +222,11 @@ class SocialiteAuthController extends Controller break; } } - //解绑以前的关系 - SocialiteUser::where('user_id', $user->id)->update([ + //解绑对应三方以前的关系 + SocialiteUser::where([ + 'user_id' => $user->id, + 'socialite_type' => $socialite['socialite_type'], + ])->update([ 'user_id' => null, ]); //绑定用户和三方信息关系 From 251aab920526241f9281cb598b40ae4397d34c0f Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Thu, 24 Feb 2022 11:16:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E8=A7=A3=E7=BB=91=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Auth/SocialiteAuthController.php | 21 +++++++++++++++++++ app/Endpoint/Api/routes.php | 1 + 2 files changed, 22 insertions(+) diff --git a/app/Endpoint/Api/Http/Controllers/Auth/SocialiteAuthController.php b/app/Endpoint/Api/Http/Controllers/Auth/SocialiteAuthController.php index 114370ec..e1caa91f 100644 --- a/app/Endpoint/Api/Http/Controllers/Auth/SocialiteAuthController.php +++ b/app/Endpoint/Api/Http/Controllers/Auth/SocialiteAuthController.php @@ -104,6 +104,27 @@ class SocialiteAuthController extends Controller ]); } + /** + * 第三方登录的解绑 + * + * @param [type] $provider + * @param Request $request + */ + public function unbindUser($provider, Request $request) + { + if ($user = $request->user()) { + //解绑三方的关系 + SocialiteUser::where([ + 'user_id' => $user->id, + 'socialite_type' => $provider, + ])->update([ + 'user_id' => null, + ]); + } + + return response()->noContent(); + } + /** * [目前支持:微信小程序] */ diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index 0aa1b0dd..ee6afac7 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -92,6 +92,7 @@ Route::group([ ], function () { Route::post('code-auth/{provider}', [Auth\SocialiteAuthController::class, 'codeAuth']); Route::post('code-bind-user/{provider}', [Auth\SocialiteAuthController::class, 'codeBindUser']); + Route::post('unbind-user/{provider}', [Auth\SocialiteAuthController::class, 'unbindUser']); }); Route::middleware(['auth:api'])->group(function () {