Пример #1
0
 public function actionAuthBindAccount()
 {
     if (!Yii::$app->getUser()->getIsGuest()) {
         return $this->goHome();
     }
     $session = Yii::$app->getSession();
     if (!$session->has('authInfo')) {
         return $this->redirect(['login']);
     }
     $attr = $session->get('authInfo');
     $model = new LoginForm();
     if ($model->load(Yii::$app->getRequest()->post()) && $model->login()) {
         $auth = new Auth(['user_id' => Yii::$app->getUser()->id, 'source' => (string) $attr['source'], 'source_id' => (string) $attr['id']]);
         if ($auth->save()) {
             $session->remove('authInfo');
         } else {
             throw new ServerErrorHttpException(implode('<br />', $auth->getFirstErrors()));
         }
         return $this->goHome();
     } else {
         return $this->render('authBindAccount', ['model' => $model, 'authInfo' => $attr]);
     }
 }