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]); } }