Я настраиваю RBAC с помощью Airflow и тестирую локально, чтобы начать. Я подготовил группу пользователей AWS Cognito через консоль. Кроме того, у меня есть файл webserver_config.py, который я подключил к своему док-контейнеру Airflow, чтобы настроить OAuth с помощью RBAC.
Соответствующий раздел в моем файле webserver_config.py:
COGNITO_URL = os.getenv('COGNITO_URL')
CONSUMER_KEY = os.getenv('COGNITO_CLIENT_KEY')
SECRET_KEY = os.getenv('COGNITO_CLIENT_SECRET')
# When using OAuth Auth, uncomment to setup provider(s) info
# Google OAuth example:
OAUTH_PROVIDERS = [{
'name':'AWS Cognito',
'whitelist': ['@company.com'], # optional
'token_key':'access_token',
'icon':'fa-amazon',
'remote_app': {
'base_url': os.path.join(COGNITO_URL, 'oauth2/idpresponse'),
# 'base_url': COGNITO_URL,
'request_token_params':{
'scope': 'email profile'
},
'access_token_url': os.path.join(COGNITO_URL, 'oauth2/token'),
'authorize_url': os.path.join(COGNITO_URL, 'oauth2/authorize'),
'request_token_url': None,
'consumer_key': CONSUMER_KEY,
'consumer_secret': SECRET_KEY,
}
}]
Переменные следующие:
COGNITO_URL: доменное имя, которое я создал в разделе «Интеграция приложений» моего пула пользователей.
COGNITO_CLIENT_KEY: идентификатор клиента приложения для моего приложения в разделе «Клиенты приложений» моего пула пользователей.
COGNITO_CLIENT_SECRET: секрет клиента приложения для моего приложения в разделе «Клиенты приложений» моего пула пользователей.
В пользовательском интерфейсе Cognito у меня есть следующие настройки для моего клиента приложения: введите здесь описание изображения
По сути, я установил конечные точки так, как они должны быть на моем локальном компьютере при тестировании. Я возился с маршрутами http://localhost:8083/oauth2/idpresponse
и http://localhost:8083/admin
(обычная домашняя страница для Airflow) и получил ту же ошибку.
Я думаю, что проблема в том, что URI, который пытается запросить клиент, и указанный URI не совпадают. Я попытался последовать совету https://stackoverflow.com/a/53602884/13717098, но когда я извлек этот URI и сохранил его в консоли Cognito, я продолжаю получать ту же ошибку. Мне нужна помощь в определении необходимого URI. Запрос, который я определил в связанном сообщении: /oauth2/authorize?response_type=code&client_id=269vguq386076suj80vpq4ctmj&redirect_uri=http%3A%2F%2Flocalhost%3A8083%2Foauth-authorized%2FAWS%2520Cognito&scope=email+profile&state=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuZXh0IjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4My9ob21lIl19.CcuxpZyuVIqW0GtnNL219Xkg1IftE0tzFiVilR6b4us
Я был бы признателен за любую помощь с определением URI и / или связанных с ним шаблонов.
Отредактировано для интервала.