Ошибка при интеграции google OAuth с суперсетью
Чтобы интегрировать аутентификацию Google в мое приложение Superset, работающее на определенном IP-адресе, я выполнил следующие шаги:
Создан идентификатор клиента OAuth на Google Cloud Platform. Для его создания требуется JavaScript Authorized Origin, который, по сути, является URL-адресом приложения. Поскольку у моего приложения Superset нет домена, я замаскировал
случайным доменом (http://localtesting.com) в моем локальном etc/hosts
файле. Я использовал этот замаскированный домен в Google Console для создания идентификатора клиента.-
- Обновите файл
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'
- Обновите файл
Перезагрузите виртуальную машину, на которой размещен суперкомплект.
После выполнения этих шагов я столкнулся с ошибкой 502 Bad Gateway. Мое приложение Superset использует сервер Nginx.
Связана ли эта проблема как-то с nginx или что-то не так в маскировке IP на моей локальной машине
Решено. На самом деле я установил зависимость в виртуальную машину вместо суперсети виртуальной среды.