From f3107740dfc6c67df6e5d262b4c36a6dd417ca12 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Mon, 14 Jan 2019 16:22:24 +0100 Subject: [PATCH] Minor - fix php warning --- plugin/keycloak/start.php | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/plugin/keycloak/start.php b/plugin/keycloak/start.php index 73ab2e3928..f1adadafe9 100644 --- a/plugin/keycloak/start.php +++ b/plugin/keycloak/start.php @@ -92,21 +92,19 @@ if (isset($_GET['sso'])) { exit; } - // Set chamilo sessions - Session::write('samlUserdata', $auth->getAttributes()); - Session::write('samlNameId', $auth->getNameId()); - Session::write('samlNameIdFormat', $auth->getNameIdFormat()); - Session::write('samlSessionIndex', $auth->getSessionIndex()); - Session::erase('AuthNRequestID'); - $keyCloackUserName = Session::read('samlNameId'); $userInfo = api_get_user_info_from_username($keyCloackUserName); + $attributes = $auth->getAttributes(); - if (empty($userInfo)) { + if (!empty($attributes) && empty($userInfo)) { $firstName = reset($attributes['FirstName']); $lastName = reset($attributes['LastName']); $email = reset($attributes['Email']); + if (empty($email)) { + api_not_allowed(true); + } + $userId = UserManager::create_user( $firstName, $lastName, @@ -125,6 +123,13 @@ if (isset($_GET['sso'])) { } if (!empty($userId)) { + // Set chamilo sessions + Session::write('samlUserdata', $auth->getAttributes()); + Session::write('samlNameId', $auth->getNameId()); + Session::write('samlNameIdFormat', $auth->getNameIdFormat()); + Session::write('samlSessionIndex', $auth->getSessionIndex()); + Session::erase('AuthNRequestID'); + // Filling session variables with new data Session::write('_uid', $userId); Session::write('_user', $userInfo);