code: def oauth_login(self, provider, id_column, id, attrs, defaults, redirect_url=None):
          
          user = self.query.filter(**dict([(id_column, id)])).first()
          if not redirect_url:
              redirect_url = request.args.get('next') or url_for(self.options["redirect_after_login"])
          if self.logged_in():
              if user and user != self.current:
                  if self.options["oauth_user_already_exists_message"]:
                      flash(self.options["oauth_user_already_exists_message"].format(provider=provider), "error")
                  return redirect(redirect_url)
              if provider not in self.current.auth_providers:
                  self.current.auth_providers.append(provider)
              current_app.features.models.save(self.current, **attrs)
          elif not user:
              return self.oauth_signup(provider, attrs, defaults, redirect_url=redirect_url)
          else:
              self.login(user, provider=provider, **attrs)
          return redirect(redirect_url)
docs: Execute a login via oauth. If no user exists, oauth_signup() will be called