Example #1
0
File: User.php Project: hiqdev/hi3a
 /**
  * Finds user through RemoteUser
  */
 public static function findIdentityByAuthClient($client)
 {
     $provider = RemoteUser::toProvider($client->getId());
     if (!$provider) {
         return null;
     }
     $attributes = $client->getUserAttributes();
     $remoteid = $attributes['id'];
     $email = $attributes['email'];
     $remote = RemoteUser::findOne(compact('provider', 'remoteid'));
     if ($remote) {
         return static::findOne($remote->client_id);
     }
     $user = static::findByEmail($email);
     if (!$user) {
         return null;
     }
     if (RemoteUser::isTrustedEmail($provider, $email)) {
         return RemoteUser::set($client, $user);
     }
     #Yii::$app->getSession()->set('');
     return null;
 }