OpenID Connect support for OpenStack keystoneauth library
Project description
OpenID Connect support for OpenStack clients
This is a set of authentication plugins for the OpenStack clients (namely for the keystoneauth1 library) which provides client support for authentication against an OpenStack Keystone server configured to support OpenID Connect using the Keystone Open ID Connect plugin or the Apache's mod_auth_openidc, as described below.
Available plugins
v3oidc
plugin
This plugin allows you to authenticate with a Keystone server configured to use the Keystone Open ID Connect plugin. It will perform out-of-bound authentication with the sever, meaning that the only OpenID Connect client (Relying Party) is the Keystone Server.
No OpenID Connect credentials are required in this case.
v3oidccode
plugin (old method)
This plugin allows to authenticate against Keystone using the Authorization Code grant type of OpenID Connect and OAuth 2.0, using the OpenStack client as an OpenID Connect Relying Party. This plugin is compatible with Keystone configured with the Apache HTTP server and the mod_auth_openidc and the Keystone Open ID Connect plugin.
This plugin requires that you configure an OpenID Connect client in your OpenID Connect Provider and pass the client credentials to the plugin. The OpenStack CLI will handle the authentication with the OpenID Connect Provider, obtaining and access token, that will be exchanged with the Keystone server in order to obtain a Keystone token.
Installation
Install it via pip:
pip install keystoneauth-oidc
Or clone the repo and install it:
git clone https://github.com/IFCA/keystoneauth-oidc
cd keystoneauth-oidc
pip install .
Usage
v3oidc
plugin
You have to specify the v3oidc
in the --os-auth-type
. The
<identity-provider>
and <protocol>
must be provided by the OpenStack cloud
provider.
-
Unscoped token:
openstack --os-auth-url https://keystone.example.org:5000/v3
--os-auth-type v3oidccode
--os-identity-provider
--os-protocol
--os-identity-api-version 3
--os-discovery-endpoint https://idp.example.org/.well-known/openid-configuration
--os-openid-scope "openid profile email"
token issue -
Scoped token:
openstack --os-auth-url https://keystone.example.org:5000/v3
--os-auth-type v3oidc
--os-identity-provider
--os-protocol
--os-project-name
--os-project-domain-id
--os-identity-api-version 3
--os-openid-scope "openid profile email"
token issue
v3oidccode
plugin (old method)
First of all, you need to create an OpenID Connect client in your OpenID Connect Provider.
Then, you have to specify the v3oidccode
in the --os-auth-type
option and provide a
valid autorization endpoint with --os-authorization-endpoint
or a valid discovery
endpoint with --os-discovery-endpoint
. The <identity-provider>
and
<protocol>
must be provided by the OpenStack cloud provider.
-
Unscoped token:
openstack --os-auth-url https://keystone.example.org:5000/v3
--os-auth-type v3oidccode
--os-identity-provider
--os-protocol
--os-identity-api-version 3
--os-client-id
--os-client-secret
--os-discovery-endpoint https://idp.example.org/.well-known/openid-configuration
--os-openid-scope "openid profile email"
token issue -
Scoped token:
openstack --os-auth-url https://keystone.example.org:5000/v3
--os-auth-type v3oidccode
--os-identity-provider
--os-protocol
--os-project-name
--os-project-domain-id
--os-identity-api-version 3
--os-client-id
--os-client-secret
--os-discovery-endpoint https://idp.example.org/.well-known/openid-configuration
--os-openid-scope "openid profile email"
token issue
API
To be documented
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file keystoneauth-oidc-1.0.0.tar.gz
.
File metadata
- Download URL: keystoneauth-oidc-1.0.0.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.4rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 622c5d516683574379a704ec7d97b1b4e648d9275dbaaa03056c1c3661e90511 |
|
MD5 | b209f3648629dd382a9924b8416706ef |
|
BLAKE2b-256 | 4203c079de5d1db2af8e3d73054d983eb606c18781570fd0efa01c15cd935679 |
File details
Details for the file keystoneauth_oidc-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: keystoneauth_oidc-1.0.0-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.4rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f007780b2b0270ea3b5c658d764f0768a6ce50c413ecd67b33358167672f86e6 |
|
MD5 | a7a2d45b4d3b70494c3e6655d47b5cb1 |
|
BLAKE2b-256 | 841fb051718fd64e07471422d47c416502dd521e6eff250522979d0b68a0519f |