Ошибка при интеграции google OAuth с суперсетью

Чтобы интегрировать аутентификацию Google в мое приложение Superset, работающее на определенном IP-адресе, я выполнил следующие шаги:

  1. Создан идентификатор клиента OAuth на Google Cloud Platform. Для его создания требуется JavaScript Authorized Origin, который, по сути, является URL-адресом приложения. Поскольку у моего приложения Superset нет домена, я замаскировал случайным доменом (http://localtesting.com) в моем локальном etc/hosts файле. Я использовал этот замаскированный домен в Google Console для создания идентификатора клиента.

    1. Обновите файл superset_config.py с идентификатором клиента, секретом клиента и доменом приложения. Вот файл для справки:
    from flask_appbuilder.security.manager import AUTH_OAUTH
    
        ENABLE_PROXY_FIX = True
        AUTH_TYPE = AUTH_OAUTH
        OAUTH_PROVIDERS = [
            {
                "name": "google",
                "icon": "fa-google",
                "token_key": "access_token",
                "remote_app": {
                    "client_id": "<ClientId",
                    "client_secret": "<ClientSecretKey>",
                    "api_base_url": "https://www.googleapis.com/oauth2/v2/",
                    "client_kwargs": {"scope": "email profile"},
                    "request_token_url": None,
                    "access_token_url": "https://accounts.google.com/o/oauth2/token",
                    "authorize_url": "https://accounts.google.com/o/oauth2/auth",
                    "authorize_params": {"hd": "http://locatesting.com"}
                },
            }
        ]
        AUTH_ROLE_ADMIN = 'Admin'
        AUTH_ROLE_PUBLIC = 'Public'
    
  2. Перезагрузите виртуальную машину, на которой размещен суперкомплект.

После выполнения этих шагов я столкнулся с ошибкой 502 Bad Gateway. Мое приложение Superset использует сервер Nginx.

Связана ли эта проблема как-то с nginx или что-то не так в маскировке IP на моей локальной машине

Решено. На самом деле я установил зависимость в виртуальную машину вместо суперсети виртуальной среды.

Вернуться на верх