这是 github 在 webserver_config.py 中作为 OAUTH_PROVIDERS 的配置,用于 Airflow 2
{
'name': 'github',
'token_key': 'access_token',
'icon': 'fa-github',
'remote_app': {
'api_base_url': "https://api.github.com",
'client_id': '******',
'client_secret': '*******',
'authorize_url': 'https://github.com/login/oauth/authorize',
'access_token_url': 'https://github.com/login/oauth/access_token',
'request_token_url': None,
"client_kwargs": {
'scope': 'email user repo admin read:org'
}
}
}
这些是使用的标志
CSRF_ENABLED = True
AUTH_USER_REGISTRATION = True
AUTH_ROLES_SYNC_AT_LOGIN = True
AUTH_USER_ROLE = True
AUTH_TYPE = AUTH_OAUTH
PERMANENT_SESSION_LIFETIME = int(os.getenv("AIRFLOW_IDLE_SESSION_TIMEOUT", 600))
OAUTH_PROVIDERS = [GithubProvider.get_config()]
SECURITY_MANAGER_CLASS = GitHubAirflowSecurityManager