diff --git a/classes/login/GmsClient.php b/classes/login/GmsClient.php index 7efacb18302a5acd025482f1ffd744035b076bb0..0c3c4e895c4b7b5ff6dcc8d3ab09cd1b1009e0d5 100644 --- a/classes/login/GmsClient.php +++ b/classes/login/GmsClient.php @@ -36,7 +36,13 @@ class GmsClient { $info = curl_getinfo($conn); if ($info['http_code'] === 200) { + error_log($response); + $joinResult = json_decode($response); curl_close($conn); + if (!array_key_exists('mergedId', $joinResult)) { + throw new ServerErrorException('GMS join response has an invalid payload'); + } + return $joinResult->mergedId; } else { //show information regarding the error curl_close($conn); @@ -47,9 +53,6 @@ class GmsClient { } throw new ServerErrorException('Error: GMS response code: ' . $httpCode); } - - // TODO: return id extracted from GMS response - return $userId1; } private function getJoinAccessToken(int $userId1, int $userId2): string {