Skip to main content

OpenID Connect support for OpenStack keystoneauth library

Project description

OpenID Connect support for OpenStack clients

GitHub issues Travis status PyPI version PyPI downloads GitHub license

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.

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.

API

To be documented

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keystoneauth-oidc-1.0.0.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

keystoneauth_oidc-1.0.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

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

Hashes for keystoneauth-oidc-1.0.0.tar.gz
Algorithm Hash digest
SHA256 622c5d516683574379a704ec7d97b1b4e648d9275dbaaa03056c1c3661e90511
MD5 b209f3648629dd382a9924b8416706ef
BLAKE2b-256 4203c079de5d1db2af8e3d73054d983eb606c18781570fd0efa01c15cd935679

See more details on using hashes here.

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

Hashes for keystoneauth_oidc-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f007780b2b0270ea3b5c658d764f0768a6ce50c413ecd67b33358167672f86e6
MD5 a7a2d45b4d3b70494c3e6655d47b5cb1
BLAKE2b-256 841fb051718fd64e07471422d47c416502dd521e6eff250522979d0b68a0519f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page