Ejemplo n.º 1
0
 public function actionSuccess()
 {
     /* @var $user \app\modules\job\models\User */
     $auth = Yii::$app->session->get('user.auth');
     Yii::$app->session->remove('user.auth');
     $role = Yii::$app->request->getQueryParam('role', UserJob::$roleDefault);
     if (!in_array($role, UserJob::$roleAllows)) {
         $role = UserJob::$roleDefault;
     }
     if (empty($auth)) {
         return $this->goHome();
     }
     $user = User::findByOpenId($auth['uid'], $auth['provider']);
     if ($user !== null) {
         Yii::$app->user->login($user);
         $modelJob = UserJob::find()->where(['_id' => Yii::$app->user->id, 'role' => $role])->one();
         if ($modelJob != null) {
             Yii::$app->session->set('jobAccountRole', $modelJob->role);
             return $this->redirect(["/job/{$modelJob->role}/index"]);
         }
     }
     // Đăng ký account
     return $this->redirect(['register', 'oauth' => $this->_encrypt($auth), 'role' => $role]);
 }