/** * Возвращает данные о пользователе полученные с сервиса. * @return \ServiceUser * @throws OAuth2Exception */ function getServiceUser() { $res = $this->serviceUser; if (!$res && $this->id) { $token = OAuth2::getFromSession(); if ($token) { $arUser = TAuthCommand::getUserProfileByToken($token->getAccessToken()); //Проверка идентификаторов пользователей //debug($arUser); if ($arUser['id'] == $this->id) { $res = ServiceUser::fromArray($arUser); } else { throw new OAuth2Exception(TRUSTEDNET_ERROR_MSG_DIFFERENT_USER_ID, TRUSTEDNET_ERROR_CODE_DIFFERENT_USER_ID, null); } } else { throw new OAuth2Exception(TRUSTEDNET_ERROR_MSG_TOKEN_NOT_FOUND, TRUSTEDNET_ERROR_CODE_TOKEN_NOT_FOUND, null); } } return $res; }
function __param($array, $name, $default) { $res = $default; if (isset($array[$name])) { $res = $array[$name]; } return $res; } try { if ($code = getParam("code")) { if (getParam("final", false)) { $res = TAuthCommand::getAccessTokenByCode($code); debug("OAuth token from service:", $res); $token = OAuth2::fromArray($res); debug($token); $user_array = TAuthCommand::getUserProfileByToken($token->getAccessToken()); debug($user_array); if (TRUSTED_DB) { $user = TDataBaseUser::getUserById($user_array['id']); debug("TDataBaseUser::getUserById:", $user); if ($user) { //Пользователь уже зарегистрирован debug('Old user'); if (onRegUserFound) { debug('Event onRegUserFound'); onRegUserFound($user); } } else { //Пользователь не найден debug('New user'); $user = TUser::fromArray($user_array);