diff options
author | asteroide <thomas.duval@orange.com> | 2015-09-24 16:27:16 +0200 |
---|---|---|
committer | asteroide <thomas.duval@orange.com> | 2015-09-24 16:27:16 +0200 |
commit | 92d11d139e9f76d4fd76859aea78643fc32ef36b (patch) | |
tree | bd5a2e7b50853498074ab55bdaee4452c460010b /keystone-moon/keystone/server | |
parent | 49325d99acfadaadfad99c596c4ada6b5ec849de (diff) |
Update Keystone code from repository.
Change-Id: Ib3d0a06b10902fcc6d520f58e85aa617bc326d00
Diffstat (limited to 'keystone-moon/keystone/server')
-rw-r--r-- | keystone-moon/keystone/server/common.py | 8 | ||||
-rw-r--r-- | keystone-moon/keystone/server/wsgi.py | 22 |
2 files changed, 30 insertions, 0 deletions
diff --git a/keystone-moon/keystone/server/common.py b/keystone-moon/keystone/server/common.py index 2de6d39e..7bc5958e 100644 --- a/keystone-moon/keystone/server/common.py +++ b/keystone-moon/keystone/server/common.py @@ -13,14 +13,17 @@ from oslo_config import cfg +from oslo_log import log from keystone.common import dependency from keystone.common import sql from keystone import config +from keystone.i18n import _LW from keystone.server import backends CONF = cfg.CONF +LOG = log.getLogger(__name__) def configure(version=None, config_files=None, @@ -35,6 +38,11 @@ def configure(version=None, config_files=None, pre_setup_logging_fn() config.setup_logging() + if CONF.debug: + LOG.warn(_LW( + 'debug is enabled so responses may include sensitive ' + 'information.')) + def setup_backends(load_extra_backends_fn=lambda: {}, startup_application_fn=lambda: None): diff --git a/keystone-moon/keystone/server/wsgi.py b/keystone-moon/keystone/server/wsgi.py index dbdad326..ae24c48e 100644 --- a/keystone-moon/keystone/server/wsgi.py +++ b/keystone-moon/keystone/server/wsgi.py @@ -16,6 +16,7 @@ import logging from oslo_config import cfg import oslo_i18n +import oslo_middleware.cors as cors # NOTE(dstanek): i18n.enable_lazy() must be called before @@ -27,12 +28,24 @@ oslo_i18n.enable_lazy() from keystone.common import environment from keystone import config +import keystone.middleware.core as middleware_core from keystone.server import common from keystone import service as keystone_service CONF = cfg.CONF +KEYSTONE_HEADERS = [ + middleware_core.AUTH_TOKEN_HEADER, + middleware_core.SUBJECT_TOKEN_HEADER, + 'X-Project-Id', + 'X-Project-Name', + 'X-Project-Domain-Id', + 'X-Project-Domain-Name', + 'X-Domain-Id', + 'X-Domain-Name' +] + def initialize_application(name): common.configure() @@ -49,6 +62,15 @@ def initialize_application(name): _unused, application = common.setup_backends( startup_application_fn=loadapp) + + # Create a CORS wrapper, and attach keystone-specific defaults that must be + # included in all CORS responses + application = cors.CORS(application, CONF) + application.set_latent( + allow_headers=KEYSTONE_HEADERS, + allow_methods=['GET', 'PUT', 'POST', 'DELETE', 'PATCH'], + expose_headers=KEYSTONE_HEADERS + ) return application |