public function actionOk()
 {
     if (\yii::$app->request->get('error') || is_null(\yii::$app->request->get('code'))) {
         \yii::$app->response->redirect(\yii::$app->params['loginURL']);
     }
     $code = \yii::$app->request->get('code');
     $config = \yii::$app->params['okAPI'];
     $userData = OK::getUserToken($config, $code);
     if (!isset($userData->access_token)) {
         \yii::$app->response->redirect('/auth');
     }
     OK::setConfig($config);
     $currentUser = OK::getCurrentUser($userData->access_token);
     if (!isset($currentUser->uid)) {
         \yii::$app->response->redirect('/auth');
     }
     $user = User::find()->where(['site' => User::SITE_OK, 'socialid' => $currentUser->uid])->one();
     if (!$user) {
         $user = new User();
         $user->site = User::SITE_OK;
         $user->status = User::STATUS_SOCIAL_APPROVE;
         $user->socialid = (string) $currentUser->uid;
         $user->token = (string) $userData->refresh_token;
         $isSaved = $user->save();
         if (!$isSaved) {
             throw new Exception('Не удалось сохранить пользователя.');
         }
     } else {
         $user->token = $userData->refresh_token;
         $user->save();
     }
     \yii::$app->session->set('USER', $user);
     \yii::$app->response->redirect('/auth/checktype');
 }