OpenStack Identity (Keystone) Middleware
Go to file
Brant Knudson c97be0a9ee Fix auth_token does version request for no token
When a request came in with no token and the auth_token middleware
wasn't configured with an auth version, a request would be made to
fetch the versions supported by the server. This causes problems in
projects that have unit tests using the auth_token middleware because
they didn't expect to have an Identity server running.

The fix for this is to refactor the identity version handling to a
strategy pattern.

There were 2 subclasses of _IdentityServer in auth_token, one for
V2 and one for V3. This is excessive since there's only a couple of
methods that are needed and not all the _IdentityServer class. Using
the pricipal of preferring composition over inheritance, the code to
handle V2/V3 is moved into a simpler strategy pattern. This also
moves code out of the AuthProtocol class which is too complicated
already, and it allows more refactoring since the _IdentityServer
reference can be created and passed to extracted classes for them
to use.

Closes-Bug: #1404294
Change-Id: If69fbb73bea268b96e4b1e9ad81a736495a2b58a
2014-12-19 10:48:36 -06:00
doc documentation for audit middleware 2014-12-15 16:44:29 -05:00
examples/pki Example JSON files should be human-readable 2014-07-22 11:48:27 -04:00
keystonemiddleware Fix auth_token does version request for no token 2014-12-19 10:48:36 -06:00
tools Use oslo_debug_helper and remove our own version 2014-09-09 10:18:51 -04:00
.coveragerc Initial commit 2014-06-19 15:45:29 -07:00
.gitignore Update .gitignore files 2014-06-20 07:23:39 -07:00
.gitreview Initial commit 2014-06-19 15:45:29 -07:00
.testr.conf Initial commit 2014-06-19 15:45:29 -07:00
CONTRIBUTING.rst add CONTRIBUTING.rst 2014-06-30 14:07:56 -05:00
HACKING.rst Update python-keystoneclient reference 2014-10-28 22:28:56 -03:00
LICENSE Initial commit 2014-06-19 15:45:29 -07:00
MANIFEST.in Update MANIFEST.in 2014-06-19 17:30:35 -07:00
README.rst add CONTRIBUTING.rst 2014-06-30 14:07:56 -05:00
babel.cfg Initial commit 2014-06-19 15:45:29 -07:00
openstack-common.conf add context to keystonemiddleware 2014-10-23 13:58:32 +00:00
requirements.txt Updated from global requirements 2014-12-11 07:14:13 +00:00
setup.cfg Merge "Mark keystonemiddleware as being a universal wheel" 2014-07-28 22:53:17 +00:00
setup.py Updated from global requirements 2014-07-21 16:24:10 +00:00
test-requirements.txt Updated from global requirements 2014-12-04 22:37:16 +00:00
tox.ini I18n 2014-10-29 20:59:51 -05:00

README.rst

Middleware for the OpenStack Identity API (Keystone)

This package contains middleware modules designed to provide authentication and authorization features to web services other than Keystone <https://github.com/openstack/keystone>. The most prominent module is keystonemiddleware.auth_token. This package does not expose any CLI or Python API features.

The source is available on GitHub at:

http://github.com/openstack/keystonemiddleware

Bugs and feature requests are tracked on Launchpad at:

https://bugs.launchpad.net/keystonemiddleware

For any other information, refer to the parent project, Keystone:

https://github.com/openstack/keystone

For information on contributing, see CONTRIBUTING.rst.