Пример #1
0
 /**
  * Возвращает данные о пользователе полученные с сервиса. 
  * @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;
 }
Пример #2
0
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);