OpenStack Identity Authentication Library
Go to file
briancurtin bbd85fded7 Provide a RFC 7231 compliant user agent string
The current default of "keystoneauth1" doesn't convey enough
information, and additionally when the user of a Session supplies their
own user agent, it stomps on any notion of keystoneauth1 being there.

Per RFC 7231 Section 5.5.3
(https://tools.ietf.org/html/rfc7231#section-5.5.3), user agents should
basically be a space-delimited list of product/version pairs in
decreasing order of importance. This change makes the default user agent
something like the following:

keystoneauth1/2.1.1 python-requests/2.8.1 CPython/3.4.1+

Due to the decreasing order of importance, when a user creates a Session
with something like Session(user_agent="my-product/1.0"),
'my-product/1.0' is then prepended to the above list. The only time this
is not the case is if a user agent is provided directly to
Session.request. In that case, the User-Agent header is set to whatever
the provided argument is, verbatim.

This was a change we had originally made to the Transport class in
python-openstacksdk (I80ca26fff3f2522b8232472676396abb86166f91), but
upon moving to keystoneauth instead of our own implementation, it was
noticed that we lost this, and keystoneauth is a better place for this
than for us to re-implement it inside of python-openstacksdk.

Change-Id: I46f336f25fac5b524547bb13e4f5438ebf1d4320
2015-12-15 16:45:17 -06:00
doc Merge "Remove confusing documentation" 2015-12-10 15:39:47 +00:00
keystoneauth1 Provide a RFC 7231 compliant user agent string 2015-12-15 16:45:17 -06:00
releasenotes Add release notes for keystoneauth 2015-11-29 20:05:16 -05:00
.coveragerc Update coverage to keystoneauth1 2015-12-09 11:46:00 +11:00
.gitignore Add release notes for keystoneauth 2015-11-29 20:05:16 -05:00
.gitreview Initial Split of python-keystoneclient to keystoneauth 2015-04-20 14:49:59 -07:00
.mailmap Add mailmap entry 2014-05-07 12:12:43 -07:00
.testr.conf Move to the keystoneauth1 namespace 2015-06-25 16:48:54 -07:00
CONTRIBUTING.rst Initial Split of python-keystoneclient to keystoneauth 2015-04-20 14:49:59 -07:00
HACKING.rst Initial Split of python-keystoneclient to keystoneauth 2015-04-20 14:49:59 -07:00
LICENSE Initial Split of python-keystoneclient to keystoneauth 2015-04-20 14:49:59 -07:00
MANIFEST.in Migrate to pbr. 2013-05-17 14:43:31 -07:00
README.rst Fix PyPI badges 2015-12-04 14:18:27 -08:00
requirements.txt Provide a RFC 7231 compliant user agent string 2015-12-15 16:45:17 -06:00
setup.cfg Updated from global requirements 2015-12-08 02:06:52 +00:00
setup.py Updated from global requirements 2015-09-17 12:12:42 +00:00
test-requirements.txt Updated from global requirements 2015-12-08 02:06:52 +00:00
tox.ini Add BetaMax Fixture 2015-12-06 17:57:06 -05:00

keystoneauth

Latest Version

Downloads

This package contains tools for authenticating to an OpenStack-based cloud. These tools include:

  • Authentication plugins (password, token, and federation based)
  • Discovery mechanisms to determine API version support
  • A session that is used to maintain client settings across requests (based on the requests Python library)

Further information: