From 966da083f15f6d7ea4a16d5b417c4fbefeee1848 Mon Sep 17 00:00:00 2001 From: "d.kudrinskiy" Date: Wed, 21 Feb 2024 23:39:00 +0300 Subject: [PATCH] feat(oauth2): fix check null value, added more user_info field --- .../lib/Controller/OauthApiController.php | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/apps/oauth2/lib/Controller/OauthApiController.php b/apps/oauth2/lib/Controller/OauthApiController.php index 5c4b0d15140cd..934b1959e9193 100644 --- a/apps/oauth2/lib/Controller/OauthApiController.php +++ b/apps/oauth2/lib/Controller/OauthApiController.php @@ -237,12 +237,23 @@ public function getToken( */ public function getUserInfo() { $user = $this->userSession->getUser(); - $displayname = explode(' ', $user->getDisplayName()); - return new JSONResponse([ - 'sub' => $user->getUID(), - 'given_name' => $displayname[0], - 'family_name' => $displayname[1] ? $displayname[1] : $displayname[0], - 'email' => $user->getEMailAddress() - ]); + if ($user) { + $displayName = $user->getDisplayName(); + $partedName = explode(' ', $displayName); + $userId = $user->getUID(); + $response = new JSONResponse([ + 'sub' => $userId, + 'name' => $displayName, + 'given_name' => $partedName[0], + 'family_name' => $partedName[1] ?? $partedName[0], + 'email' => $user->getEMailAddress(), + 'picture' => \OC::$server->getURLGenerator()->getAbsoluteURL("index.php/avatar/$userId/512"), + ]); + }else{ + $response = new JSONResponse([ + 'error' => 'user_not_found', + ], Http::STATUS_NOT_FOUND); + } + return $response; } }