tempest/tempest/lib/services/identity
Colleen Murphy 8b9980b497 Normalize endpoint path in oauth client
oauthlib uses the request URI as input for generating an oauth
signature and matching it against the incoming oauth_signature request
attribute. tempest also uses the URI to generate this signature, which
means the URIs must match exactly.

If the keystone catalog contains an endpoint with a trailing slash, such
as https://keystone.example.org/v3/, then the URI that tempest uses for
the signature generation will be
https://keystone.example.org/v3//OS-OAUTH1/request_token. The incoming
request URI that oauthlib sees will not have the duplicate slash and so
the resulting signature will differ, and the auth request will be
rejected due to mismatching HMAC-SHA1 signatures.

This patch corrects the issue for deployments that use a trailing slash
in their keystone catalogs (which is valid) by normalizing the path
before generating the signature.

Change-Id: Ie827b1af7b23c6d6eaf2c2894cc2629d0e252108
2019-02-12 15:43:59 +01:00
..
v2 Implement tempest client for keystone v2 token APIs 2017-06-19 14:11:12 +05:30
v3 Normalize endpoint path in oauth client 2019-02-12 15:43:59 +01:00
__init__.py Define v3 domains_client as library 2016-12-20 12:42:26 +00:00