示例#1
0
 /**
  * Select all records from user_auth for current user and extract provider attributes
  * @return array
  */
 public static function getKeychainConnects()
 {
     $connectedAccounts = [];
     $accounts = UserAuth::find()->where(['user_id' => \Yii::$app->user->id])->orderBy('create_time')->all();
     if ($accounts) {
         foreach ($accounts as $account) {
             switch ($account->provider) {
                 case 'google':
                     $connectedAccounts[] = self::parseGoogleProviderAttributes($account);
                     break;
                 case 'facebook':
                     $connectedAccounts[] = self::parseFacebookProviderAttributes($account);
                     break;
                 case 'twitter':
                     $connectedAccounts[] = self::parseTwitterProviderAttributes($account);
                     break;
                 case 'vkontakte':
                     $connectedAccounts[] = self::parseVkontakteProviderAttributes($account);
                     break;
             }
         }
     }
     return $connectedAccounts;
 }
示例#2
0
 /**
  * Returns 'true' if $provider_id is not persist into user_auth
  * @param $provider_id
  * @return bool
  */
 protected function checkIsAlreadyConnected($provider_id)
 {
     $count = UserAuth::find()->where(['provider_id' => $provider_id])->count();
     return !($count > 0);
 }