7ff623638dc36fc29e7fc643483509ce226b92f6
Although keystone v2 has been deprecated, no services use v3 for authorization. So passing a v3 token_id to other services results in authorization errors. If the user logs into a domain other than "default" the user see only unauthorized errors. Currently, when logging into the "default" domain these authorization errors do not occur merely because of a bug in keystone that does not validate the token version. This will likely change some time in the non-distant future. Setting the keystone API version to v2.0 is the safest path for now. Not doing a full revert because the rest of the fixes the previous patch were valid and required. Closes-Bug: #1294396 Change-Id: I3583e729b5a006f9b7f5cbbe3388908c15de39ae
Django OpenStack Auth
Django OpenStack Auth is a pluggable Django authentication backend
that works with Django's contrib.auth framework to
authenticate a user against OpenStack's Keystone Identity API.
The current version is designed to work with the Keystone V2 API.
You can view the documentation on Read The Docs.
Installation
Installing is quick and easy:
Run
pip install django_openstack_auth.Add
openstack_authtosettings.INSTALLED_APPS.Add
'keystone_auth.backend.KeystoneBackend'to yoursettings.AUTHENTICATION_BACKENDS, e.g.:AUTHENTICATION_BACKENDS = ('keystone_auth.backend.KeystoneBackend',)Configure your API endpoint(s) in
settings.py:OPENSTACK_KEYSTONE_URL = "http://example.com:5000/v2.0"Include
'keystone_auth.urls'somewhere in yoururls.pyfile.Use it as you would any other Django auth backend.
Running The Tests
Download the repository and run:
python setup.py test
Description