OpenID Connect Implementation for OpenStack Keystone.
Project description
OpenID Connect plugin for Keystone authentication
This repository contains an OpenID Connect Implementation for the OpenStack Identity service (Keystone).
Installation
Install it via pip
:
pip install keystone_oidc_auth_plugin
Configuration
In order to configure it you must enable it on the authentication methods in
keystone.conf
, and then specify to use the ifca
plugin, for instance:
[auth]
# Allowed authentication methods. Note: You should disable the `external` auth
# method if you are currently using federation. External auth and federation
# both use the REMOTE_USER variable. Since both the mapped and external plugin
# are being invoked to validate attributes in the request environment, it can
# cause conflicts. (list value)
methods = password,token,openid
openid = ifca
Then, you can configure the global OpenID Connect specific options as follows:
[openid]
# The prefix to use when setting claims in the HTTP headers/environment
# variables. (string value)
#claim_prefix = OIDC_
# Value to be used to obtain the entity ID of the Identity Provider from the
# environment. Defaults to OIDC_iss. (string value)
#remote_id_attribute = OIDC_iss
# Default duration in seconds after which retrieved JWS should be refreshed.
# (integer value)
#jws_refresh_interval = 3600
Finally, you need to add a section for each of the Identity Providers (IdP)
that you want to support. In order to do so, the plugin looks for IdP entries
that are prefixed by openid_
. The IdP name that you use for each of these
entries must match the identity provider's name configured in Keystone,
therefore if you have defined an IdP named idp-name
, you must add an entry as
follows:
[openid_idp-name]
# OpenID connect issuer URL. We will use this to build all the required options
# asking the discovery url (i.e. querying the $issuer/.well-known/openid-
# configuration endpoint. This has to correspond to the 'remote-id' parameter
# that is set in the federated identity provider configuration that is
# configured in Keystone. (string value)
#issuer = <None>
# Client identifier used in calls to the OpenID Connect Provider (string value)
#client_id = <None>
# OpenID connect issuer URL. We will use this to build all the in Keystone.
# (string value)
#authorization_endpoint = <None>
# Client identifier only known by the application and Identity provider client
# (string value)
#client_secret = <None>
# Supported OpenID scopes in the Identity provider (string value)
#scope = <None>
# OpenID connect URL to get identity and access tokens (string value)
#token_endpoint = <None>
# Allowed HTTP method for userinfo request. Optional.
#userinfo_method = POST
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 keystone-oidc-auth-plugin-1.0.0.tar.gz
.
File metadata
- Download URL: keystone-oidc-auth-plugin-1.0.0.tar.gz
- Upload date:
- Size: 23.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.8.0 tqdm/4.51.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2e8dbf8b7c0b8bee8e613018d4faca4b54519fbebc18ed88d8d8b5f65526e2c |
|
MD5 | bc753ea40f7163a5340e8d58bd3ab95b |
|
BLAKE2b-256 | c439fcbe2940b511b75f5df7e768e027a590712e8ce39a12cd759ff5ec3282a5 |
File details
Details for the file keystone_oidc_auth_plugin-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: keystone_oidc_auth_plugin-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.8.0 tqdm/4.51.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90dd4abca6d11adbf0a0b207caaa0b7f941ccc107b55aace7829162b6d8e4c6a |
|
MD5 | 5a8db662bdf156ebfa591afee465014e |
|
BLAKE2b-256 | 02bedc6cd8270c27373e718002cb21c20f0b1c47fc09c436314baab54ba7ca80 |