code: def __init__(self, config, blocking=True, verbose=logs.DEBUG):
      if not os.path.exists(TOKEN_DIR):
          try:
              os.makedirs(TOKEN_DIR)
          except OSError:
              pass
  
      self.logger = logs.get_logger(self.__class__.__name__)
      self.logger.setLevel(logs.DEBUG)
  
      self.firebase = pyrebase.initialize_app(config)
      self.user = {}
      self.use_email_auth = config.get("use_email_auth", False)
      if self.use_email_auth:
          self.email = config.get("email", None)
          self.password = config.get("password", None)
          if not self.password or not self.email:
              self.email = input(
                  "Firebase token is not found or expired! "
                  + "You need to re-login. (Or re-run with "
                  + "studio/studio-runner "
                  + "with --guest option ) "
                  "\nemail:"
              )
              self.password = getpass.getpass("password:")
  
      self.expired = True
      self.token_file = os.path.join(TOKEN_DIR, self.firebase.api_key)
      self._update_user()
  
      if self.expired and blocking:
          print(
              "Authentication required! Either specify "
              + "use_email_auth in config file, or run "
              "studio and go to webui " + "(localhost:5000 by default) "
              "to authenticate using google credentials"
          )
          while self.expired:
              time.sleep(1)
              self._update_user()
  
      self.sched = BackgroundScheduler()
      self.sched.start()
      self.sched.add_job(self._update_user, "interval", minutes=31)
      atexit.register(self.sched.shutdown)
  
imports: import os
  import getpass
  import time
  import json
  import shutil
  import atexit
  import tempfile
  import requests
  import re
  import uuid
  from builtins import input
  import google.auth.transport.requests
  import google.oauth2.id_token
  from studio.util.util import rand_string, check_for_kb_interrupt
  from studio import pyrebase
  from studio.util import logs
label_desc: Use image node_id 1 to create a new FirebaseAuth object from inherited base classes: object with example: obj = FirebaseAuth(config, blocking, verbose)