public function getRPXObjectByTokenAndLogin($token) { $rpx = new RPX(); $response = $rpx->call('auth_info', array('token' => $token)); if ($response->stat == 'ok') { $identity = Doctrine::getTable('sfAuthIdentity')->findOneByUrl($response->profile->identifier); if ($identity) { $this->login($identity->getUser()); } } return $response; }
static function createByTokenAndUser($token, sfUser $user) { $rpx = new RPX(); $response = $rpx->call('auth_info', array('token' => $token)); if ($response->stat == 'ok') { //Save if not found already if (!Doctrine::getTable('sfAuthIdentity')->findOneByUrl($response->profile->identifier)) { //Assign $identity = new sfAuthIdentity(); $identity->sf_auth_user_id = $user->getId(); $identity->url = $response->profile->identifier; $identity->provider = $response->profile->providerName; //Save return $identity->save(); } return 'Identity already exists'; } return 'Could not retrieve user profile from partner'; }