code: def __init__(
      self,
      auth_webdriver_func_override: Callable[
          [WebDriver | BrowserContext, User], WebDriver | BrowserContext
      ]
      | None = None,
  ):
      # This is here in order to allow for the authenticate_webdriver
      # or authenticate_browser_context (if PLAYWRIGHT_REPORTS_AND_THUMBNAILS is
      # enabled) func to be overridden via config, as opposed to the entire
      # provider implementation
      self._auth_webdriver_func_override = auth_webdriver_func_override
  
file_path: superset/superset/utils/machine_auth.py
imports: from __future__ import annotations
  import logging
  from typing import Any, Callable, TYPE_CHECKING
  from urllib.parse import urlparse
  from flask import current_app, Flask, request, Response, session
  from flask_login import login_user
  from selenium.webdriver.remote.webdriver import WebDriver
  from werkzeug.http import parse_cookie
  from superset.utils.class_utils import load_class_from_name
  from superset.utils.urls import headless_url
label_desc: Use image node_id 1 to create a new MachineAuthProvider object  with example: obj = MachineAuthProvider(auth_webdriver_func_override)