code: public function authenticate(ClientInterface $client)
      {
          $attributes = $client->getUserAttributes();
          $provider   = $client->getId();
          $clientId   = $attributes['id'];
  
          $account = $this->finder->findAccountByProviderAndClientId($provider, $clientId);
  
          if ($account === null) {
              $account = \Yii::createObject([
                  'class'      => Account::className(),
                  'provider'   => $provider,
                  'client_id'  => $clientId,
                  'data'       => json_encode($attributes),
              ]);
              $account->save(false);
          }
  
          if (null === ($user = $account->user)) {
              $this->action->successUrl = Url::to(['/user/registration/connect', 'account_id' => $account->id]);
          } else {
              \Yii::$app->user->login($user, $this->module->rememberFor);
          }
      }
docs: Logs the user in if this social account has been already used. Otherwise shows registration form.
  @param  ClientInterface $client
  @return \yii\web\Response