/**
  * Tries to connect social account to user.
  *
  * @param ClientInterface $client
  */
 public function connect(ClientInterface $client)
 {
     /** @var Account $account */
     $account = Yii::createObject(Account::className());
     $event = $this->getAuthEvent($account, $client);
     $this->trigger(self::EVENT_BEFORE_CONNECT, $event);
     $account->connectWithUser($client);
     $this->trigger(self::EVENT_AFTER_CONNECT, $event);
     $this->action->successUrl = Url::to(['/user/settings/networks']);
 }
Exemple #2
0
 /**
  * @return Account[] Connected accounts ($provider => $account)
  */
 public function getAccounts()
 {
     $connected = [];
     $accounts = $this->hasMany(Account::className(), ['user_id' => 'id'])->all();
     /** @var Account $account */
     foreach ($accounts as $account) {
         $connected[$account->provider] = $account;
     }
     return $connected;
 }