/** * 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; }