Пример #1
0
 public function actionOpenID()
 {
     $openid = new EOpenID();
     if (isset($_POST['openid_identifier']) && $_POST['openid_identifier'] === 'facebook') {
         $this->redirect(array('login/facebook'));
     } else {
         if (isset($_POST['openid_identifier']) && $_POST['openid_identifier'] === 'linkedin') {
             $this->redirect(array('login/linkedin'));
         }
     }
     if (!isset($_GET['openid_mode'])) {
         if (isset($_POST['openid_identifier'])) {
             //echo $_POST['openid_identifier'];
             $openid->required = array('namePerson/friendly', 'namePerson/first', 'namePerson/last', 'contact/email');
             $openid->authenticate($_POST['openid_identifier']);
         }
     } elseif (isset($_GET['openid_mode'])) {
         if (isset($_GET['returnurl'])) {
             $returnurl = $_GET['returnurl'];
         } else {
             $returnurl = '';
         }
         if (isset($_POST['Member'])) {
             $memberdata = Member::model()->getMemberById($_POST['Member']['memberid']);
             $this->actMemberinfo($memberdata, '', '', '', 'openid', $returnurl);
         } else {
             if ($openid->validate()) {
                 $userdata = $openid->getAttributes();
                 $userinfo = $this->stripid($openid->id);
                 $memberdata = Member::model()->getMemberByOauth($userinfo['id']);
                 $this->actMemberinfo($memberdata, $userinfo, $userdata, '', 'openid', $returnurl);
             }
         }
     }
 }
 public function loginByOpenid()
 {
     if (!Yum::module()->loginType & UserModule::LOGIN_BY_OPENID) {
         throw new Exception('login by Open Id was called, but is not activated in application configuration');
     }
     Yii::app()->user->logout();
     Yii::import('application.modules.user.vendors.openid.*');
     $openid = new EOpenID();
     $openid->authenticate($this->loginForm->username);
     return Yii::app()->user->login($openid);
 }
Пример #3
0
 /**
  * Login using OpenID
  */
 public function actionOpenIDLogin()
 {
     $openid = new EOpenID();
     if (!isset($_GET['openid_mode'])) {
         if (isset($_POST['openid_identifier'])) {
             $openid->authenticate($_POST['openid_identifier']);
         }
     } elseif (isset($_GET['openid_mode'])) {
         $openid->validate();
         Yii::app()->user->login($openid);
         /*
         Check if user has fill in details before if has redirect to last page else redirect to new user page
         */
         //$this->render('loggedin',array('openid'=>$openid));
         $openIdUrl = $openid->getIdentity();
         if ($this->openidUrlFound($openIdUrl)) {
             $userDetails = Userdetails::model()->getUserByOpenIdUrl($openIdUrl);
             $openid->setState("name", $userDetails->username);
             Yii::app()->user->login($openid);
             $this->redirect(Yii::app()->homeUrl);
         } else {
             Yii::app()->user->login($openid);
             //$this->redirect(array('newuser'));
             $this->redirect(array('userdetails/create'));
         }
         return;
     }
     $this->render('openIDLogin');
 }