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'; }
public function executeDelete(sfWebRequest $request) { //Have id params $this->forward404Unless($request->hasParameter('id')); //Try to delete $ok = sfAuthIdentity::deleteByIdAndUser($request->getParameter('id'), $this->getUser()); //404 if failed $this->forward404Unless($ok); //flash and redirect $this->getUser()->setFlash('success', $this->getContext()->getI18N()->__('The identity was deleted')); $this->redirect('sfAuthIdentity/index'); }