c97be0a9ee
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 |
||
---|---|---|
.. | ||
openstack | ||
tests | ||
__init__.py | ||
_memcache_crypt.py | ||
_memcache_pool.py | ||
audit.py | ||
auth_token.py | ||
ec2_token.py | ||
i18n.py | ||
opts.py | ||
s3_token.py |