af3aef940c
We attempt to be clever about string types in the token formatters. We do this because in some cases, not all items in a token payload are serialized to byte strings. To add flexibility for this, we use tuples with a boolean value that denotes if the accompanying value is a byte string or not. This helps us safely re-inflate the value from a byte string back to it's .hex representations, typically with UUID strings. With python3, we actually hit an interesting case where what we pass into the token payload doesn't actually maintain that state due to the usage of msgpack. The msgpack library returns byte strings even though the initial value may not have been a byte string. This breaks the logic we have for the associated boolean value because the string type changes and the boolean does not. This commit adds a couple of if/statements to detect if we running on python3 and if the boolean mismatches the actual value type. Then, it attempts to do the right thing by decoding the string. We should think about how we want to do this, or if there is a better way. Change-Id: Iaecd45ef985cbf5ff4a6a724df96c1304a927247 Closes-Bug: 1813085 |
||
---|---|---|
api-ref/source | ||
config-generator | ||
devstack | ||
doc | ||
etc | ||
examples/pki | ||
httpd | ||
keystone | ||
keystone_tempest_plugin | ||
playbooks/legacy/keystone-dsvm-grenade-multinode | ||
rally-jobs | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.stestr.conf | ||
.zuul.yaml | ||
babel.cfg | ||
bindep.txt | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
lower-constraints.txt | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Team and repository tags
OpenStack Keystone
Keystone provides authentication, authorization and service discovery mechanisms via HTTP primarily for use by projects in the OpenStack family. It is most commonly deployed as an HTTP interface to existing identity systems, such as LDAP.
Developer documentation, the source of which is in
doc/source/
, is published at:
The API reference and documentation are available at:
The canonical client library is available at:
https://git.openstack.org/cgit/openstack/python-keystoneclient
Documentation for cloud administrators is available at:
The source of documentation for cloud administrators is available at:
Information about our team meeting is available at:
Release notes is available at:
Bugs and feature requests are tracked on Launchpad at:
Future design work is tracked at:
Contributors are encouraged to join IRC
(#openstack-keystone
on freenode):
For information on contributing to Keystone, see
CONTRIBUTING.rst
.