Commit Graph

1720 Commits (master)

Author SHA1 Message Date
Zuul e6f3999c6f Merge "Support PKCE with v3oidcdeviceauthz" 2023-08-15 11:19:13 +00:00
Zuul 28048af959 Merge "Add doc of OAuth 2.0 Mutual-TLS Authenticate" 2023-06-27 15:49:46 +00:00
Zuul 0195cc7ead Merge "Add doc of OAuth2.0 Client Credentials Grant Flow" 2023-06-14 18:29:45 +00:00
Arvid Requate 38303c3c9f Support PKCE with v3oidcdeviceauthz
In case the OAuth 2.0 client for keystone is configured in Keycloak to
require PKCE (for horizon Web-SSO), this also applies to other flows
like v3oidcdeviceauthz.

Signed-off-by: Arvid Requate <>
Change-Id: I8475a583844d9b97ed65a9909c31cebc31cfbebb
2023-05-23 09:53:10 +02:00
Dave Wilde c69ade60a6 Remove last reference to the python six package
We missed an import of the six package.

Change-Id: Id618b93d47a6e25a89144b3a93b12cbb5fc14797
2023-05-17 09:35:24 -05:00
Zuul 6e0f3eb61a Merge "Fix up some packaging metadata" 2023-05-16 16:23:12 +00:00
Zuul fe74dedb05 Merge "Make v3oidcpassword send client_id" 2023-05-16 16:23:11 +00:00
Steve Relf 30d61ad316 Make v3oidcpassword send client_id
Updates the v3oidcpassword function to also send the client_id as part of the request body,
this seems to be a requirement for services like onelogin.

Change-Id: I2392ef51302804c0c66c0fb52227db5f35bca3fd
2023-05-11 11:08:06 +00:00
Zuul 1462b7344e Merge "Add RFC required headers and data to the request" 2023-05-10 23:03:06 +00:00
Arvid Requate 3e15740c73 Add RFC required headers and data to the request
Fixup for 44e5b2deef

Signed-off-by: Arvid Requate <>
Change-Id: I88bbfebd19f3e291c304f5bbd7f8dde2ed951821
2023-05-09 11:25:52 +02:00
OpenStack Release Bot 2e40bbf8e3 Update master for stable/2023.1
Add file to the reno documentation build to show release notes for

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on

Sem-Ver: feature
Change-Id: I9d1c3fab9382490c51471893c830c01106c07497
2023-04-27 13:56:02 +02:00
Zuul 8d24892f9d Merge "Remove six" 2023-04-21 16:29:11 +00:00
Zuul eb5ebfd4bd Merge "Switch to 2023.1 Python3 unit tests and generic template name" 2023-04-21 16:05:43 +00:00
Zuul f6e340270e Merge "Update master for stable/zed" 2023-04-21 16:05:42 +00:00
Zuul bf5aed34cd Merge "Replace abc.abstractproperty with property and abc.abstractmethod" 2023-04-21 16:05:40 +00:00
Zuul 3ffea9276e Merge "Allow federation to work with unversioned auth_url" 2023-04-21 15:58:42 +00:00
Zuul d2a100f85d Merge "setup.cfg: Restore python_requires after a typo" 2023-03-24 17:07:09 +00:00
Tim Burke 4e518145c3 Fix up some packaging metadata currently does not have a minimum
python version.

Also clean up a twine warning:

  warning: `long_description_content_type` missing. defaulting to `text/x-rst`.

Change-Id: Ibc4747c32afe646fe15baf52538f1ef1defc40c1
2023-03-16 16:00:52 -07:00
Zuul b80a6b62e4 Merge "New auth plugin v3oidcdeviceauthz" 2023-03-03 17:10:06 +00:00
Arvid Requate 44e5b2deef New auth plugin v3oidcdeviceauthz
OAuth 2.0 Device Authorization Grant

Signed-off-by: Arvid Requate <>
Change-Id: I8344ee5c9730c1533d58d7ccb04ddc3d2d517ade
2023-02-23 10:09:08 +01:00
sunyonggen ca28df8480 OAuth 2.0 Mutual-TLS Support
Added a new OAuth2mTlsClientCredential plugin, accessible via the
'v3oauth2mtlsclientcredential' entry point, making possible to
authenticate using an OAuth 2.0 Mutual-TLS client credentials.

Co-Authored-By: Hiromu Asahina <>
Change-Id: I0e02ef18da5d60cdd1bcde07b07c2071b74b73d6
Implements: blueprint support-oauth2-mtls
2023-02-10 20:56:45 +09:00
Dr. Jens Harbott 6ee21bd722 Fix docs build for tox4
Replace deprecated whitelist_externals with allowlist_externals. Drop
skipsdist = True setting.

Change-Id: Iced0ce2472e5c0bd09fba0d274ef2772883a0a49
2023-01-12 10:21:47 +01:00
Zuul c96b058212 Merge "Enforce scope mutual exclusion for system" 2022-12-20 22:37:30 +00:00
Grzegorz Grasza 5098d45cca Allow passing of version header
Add keyword option to get_version_data() to allow passing
of the version header so that we can get the microversions.
Specifically, this is so that we can re-use this function
in barbican, which recently implemented microversions, but
doesn't return them by default, for backward compatibility
with old clients.

Change-Id: I909750381a559f9dc61650c9f98c88d4481012b7
2022-12-20 15:58:04 +01:00
Stephen Finucane 192a27ae5f Remove six
This is no longer necessary since we only support Python 3.x.

A note is removed from requirements.txt since it's no longer relevant:
pip 20.3+ has a real dependency resolver.

Change-Id: Ie3006813a79fef1f128d388b906e4f1752347fa4
Signed-off-by: Stephen Finucane <>
Co-Authored-By: Grzegorz Grasza <>
2022-12-14 10:47:25 +00:00
Pete Zaitcev bef3dfb6ae setup.cfg: Restore python_requires after a typo
The "python_equires" typo was introduced by the change
I3980fbc53ce4b954aff5e98087897ea94e50e4fc, commit

The typo apparently had a weird effect of declaring our
package as supporting Python 2, although obviously we
quit py2 long time ago.

Closes-bug: 1999431
Change-Id: Ife08f751bd64f2bbb04747ccc030d38ce78db712
2022-12-13 23:40:43 -06:00
Pavlo Shchelokovskyy 737790f732 Allow federation to work with unversioned auth_url
while e.g. V3Password works perfectly fine with unversioned auth_url
like 'http://keystone', everything based on FederationBaseAuth
does not and only requires versioned v3 auth_url.

Since OS_FEDERATION is implemented only in v3, this patch
makes sure that federated_token_url has v3 in it, thus allowing
for unversoned auth_url as well.

Closes-Bug: #1998366
Change-Id: I1f0b00b6f721c53bb5308e03223d0c1564ca81b3
2022-12-02 18:04:08 +00:00
Pavlo Shchelokovskyy ae646f8d37 Enforce scope mutual exclusion for system
we already fail when mutliple scope identifiers are provided, however
not when system scope is involved. As a result of the undocumented
priority of checks, when system scope is specified together with any
other scope, that other scope will silently be used.

Change-Id: I120ed63f6c1262d067eeb6168feab35278cacf6a
2022-12-02 18:03:47 +00:00
Hervé Beraud 11faa0e67d Fix linters and bindep on jammy
Bump linter requirements - follow the changes
made in keystone in commits
6dfde5b48b388e32e34a385c3a9ef48da7c7c49b and
5c71ebd7a92d25df83e2e7cc5fad9990e9eebbf5 in
order to fix compatibility with Python 3.10.

Remove python-dev from bindep - it's no longer
supported by jammy and lead us to the following
errors with the announce-release job:

No package matching 'python-dev' is available

Co-Authored-By: Herve Beraud <>
Change-Id: If687a2678733ce018bd31c602140f073ab1a1a65
2022-12-01 12:14:33 +00:00
sunyonggen ab0beab2c9 Add doc of OAuth 2.0 Mutual-TLS Authenticate
Added a new OAuth2mTlsClientCredential plugin, accessible via the
'v3oauth2mtlsclientcredential' entry point, making possible to
authenticate using an OAuth 2.0 Mutual-TLS client credentials.

Implements: blueprint support-oauth2-mtls
Change-Id: I4b85bcfbfad1e34624b48ecd6476d01a4adba9eb
2022-10-24 11:49:03 +09:00
OpenStack Release Bot 19db34ed1a Switch to 2023.1 Python3 unit tests and generic template name
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope. Also,
updating the template name to generic one.

See also the PTI in governance [1].


Change-Id: I2447df95b05fcd4f133f8c4d278c6284a67eb0b7
2022-09-14 09:18:50 +00:00
OpenStack Release Bot aaca2b3018 Update master for stable/zed
Add file to the reno documentation build to show release notes for

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on

Sem-Ver: feature
Change-Id: Ia0d14f0955504bdeb41c1eff4d6854293e1f3430
2022-09-09 15:12:22 +00:00
Yi Feng aa9c5d230f OAuth2.0 Client Credentials Grant Flow Support
Added a new OAuth2ClientCredential plugin, accessible via the
'v3oauth2clientcredential' entry point, making possible to authenticate
using an application credentials as an OAuth2.0 client credentials.

Change-Id: I77d6faef4cbc75abb8e7d86f386fb6d16e40cabf
2022-08-30 06:29:20 +00:00
ljhuang be2223c0f8 Replace abc.abstractproperty with property and abc.abstractmethod
Replace abc.abstractproperty with property and abc.abstractmethod,
as abc.abstractproperty has been deprecated since python3.3[1]


Change-Id: I506bd4f17d9c86d1a0328e765e8c695c76e16f18
2022-08-03 17:53:44 +08:00
Yusuke Niimi e8335e56dc Add doc of OAuth2.0 Client Credentials Grant Flow
This patch provides Keystoneauth documents for OAuth2.0 client
authorization. The specification about OAuth2.0 Client Credential Grant
is added to authentication plugins.

Implement: blueprint oauth2-client-credentials-ext
Change-Id: Iefaa997c1e561f51cb0e93d80106ccaa70932755
2022-07-21 05:19:18 +00:00
Grzegorz Grasza 2445a5df78 Update python testing as per zed cycle teting runtime
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Add release notes and update the python
classifier for the same.


Co-Authored-By: Ghanshyam Mann <>
Change-Id: Ic7671ad666ebc0614686e068b9d4c0824e384fb3
2022-06-03 17:56:03 +02:00
Zuul f194e6a820 Merge "Allow logging of Content-Type text/plain" 2022-05-13 17:11:37 +00:00
Zuul 12a84e1919 Merge "Fix version discovery check of url for integer project id" 2022-05-13 17:11:35 +00:00
Zuul cc58eca84f Merge "Improve help messages for a few options" 2022-05-06 17:13:28 +00:00
Zuul 97477c3261 Merge "User-friendly error message for DiscoveryFailure" 2022-05-06 17:07:04 +00:00
Zuul 2d40bf525d Merge "remove unicode from code" 2022-05-06 17:06:21 +00:00
Zuul 03a9dbb948 Merge "fix: miss attr _discovery_cache in ServiceTokenAuthWrapper" 2022-05-06 17:06:19 +00:00
Zuul c69cc01b7b Merge "Use TOX_CONSTRAINTS_FILE" 2022-05-06 16:59:41 +00:00
Zuul f9950b0ff3 Merge "bump py37 to py38 in tox.ini" 2022-05-06 16:55:12 +00:00
Ghanshyam Mann 7eeda4d9af Drop lower-constraints.txt and its testing
As discussed in TC PTG[1] and TC resolution[2], we are
dropping the lower-constraints.txt file and its testing.
We will keep lower bounds in the requirements.txt file but
with a note that these are not tested lower bounds and we
try our best to keep them updated.


Change-Id: I73718d9f52d11b9a17ab49468743d5237179ada5
2022-04-30 20:20:37 -05:00
melanie witt bc491817e1 Allow logging of Content-Type text/plain
Noticed this while doing some local testing, if a WSGI app replies with
a text/plain content type to communicate a server error, we aren't able
to see the error response message when passing --debug to the
openstackclient, example:

  RESP: [500] Date: Thu, 01 Oct 2020 23:54:15 GMT Server: Apache/2.4.18
  (Ubuntu) Content-Type: text/plain; charset=UTF-8 Connection: close
  Transfer-Encoding: chunked
  RESP BODY: Omitted, Content-Type is set to text/plain; charset=UTF-8.
  Only application/json responses have their bodies logged.

Change-Id: Ibfd46c7725bd0aa26f1f80b0e8fc6eda2ac2e090
2022-04-29 15:57:52 +00:00
zhangboye 1005c4be5b Use TOX_CONSTRAINTS_FILE
UPPER_CONSTRAINTS_FILE is old name and deprecated
This allows to use upper-constraints file as more
readable way instead of UPPER_CONSTRAINTS_FILE=<lower-constraints file>.

Change-Id: Ie3771b123acace8320db5b2e8dfadeef1c2a1b90
2022-04-29 15:53:08 +00:00
Simon Li 1a138049f7 fix: miss attr _discovery_cache in ServiceTokenAuthWrapper
Add the super method to the ServiceTokenAuthWrapper class
to get the _discovery_cache attribute of the parent class.

the error info is below while neutron is authenticated by
keystoneauth plug in task inspector enroll baremetal node:
ERROR oslo_messaging.rpc.server:
Exception during message handling: AttributeError:
'ServiceTokenAuthWrapper' object has no attribute '_discovery_cache'

Change-Id: Icc7c4e25a123b5565c94f43f932ee32f9f304a76
2022-04-29 15:52:47 +00:00
shanyunfan33 af78d4a22c remove unicode from code
remove unicode from code

Change-Id: I95f201f5678f093981014a553ffadb2a6b2a0453
2022-04-29 15:48:17 +00:00
Dylan McCulloch 8e27ff5d13 Fix version discovery check of url for integer project id
Check if the last url segment matches the project id.
Previously the check only confirmed whether the last url segment
endswith the project id which could cause problems with spurious
matches of some legacy integer project ids.

Closes-Bug: 1968793
Change-Id: I7c6c22e41bde2a73508635b7e964c58a02c12146
2022-04-13 09:43:29 +10:00