From 99e8f260a3a99ff50f8337f16ec80131412e0e7d Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 8 Aug 2017 12:55:50 +1000 Subject: [PATCH] bug fixes for OAuth (#1603) --- app/Ninja/OAuth/OAuth.php | 2 +- app/Ninja/OAuth/Providers/Google.php | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/Ninja/OAuth/OAuth.php b/app/Ninja/OAuth/OAuth.php index 487cd6172fd9..ae394775d9b5 100644 --- a/app/Ninja/OAuth/OAuth.php +++ b/app/Ninja/OAuth/OAuth.php @@ -30,7 +30,7 @@ class OAuth { $user = null; if($this->providerInstance) - $user = User::where('email', $this->providerInstance->getTokenResponse($token))->first(); + $user = User::where('oauth_user_id', $this->providerInstance->getTokenResponse($token))->first(); if ($user) return $user; diff --git a/app/Ninja/OAuth/Providers/Google.php b/app/Ninja/OAuth/Providers/Google.php index 0425b3f1d6aa..996ac8b8e48e 100644 --- a/app/Ninja/OAuth/Providers/Google.php +++ b/app/Ninja/OAuth/Providers/Google.php @@ -9,7 +9,7 @@ class Google implements ProviderInterface $client = new \Google_Client(['client_id' => env('GOOGLE_CLIENT_ID','')]); $payload = $client->verifyIdToken($token); if ($payload) - return $this->harvestEmail($payload); + return $this->harvestSubField($payload); else return null; } @@ -19,5 +19,9 @@ class Google implements ProviderInterface return $payload['email']; } - + private function harvestSubField($payload) + { + $data = $payload->getAttributes(); + return $data['payload']['sub']; // user ID + } }