charm-keystone-openidc/config.yaml
Jadon Naas da043cb293 Fix reversed values, add config options
The values of the protocol ID and identity provider ID are
reversed in the charm's code. This causes the mod_auth_openidc
config to render incorrectly in the Apache template. This change
fixes the reversed values and adds a config option for
defining the identity provider ID. This change also adds new
config options for enabling using mod_auth_openidc with
multiple Keystone units and with proxies.

Closes-Bug: #2065590
Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1235
Change-Id: Ie7da5f9a85027a287aad9958c54848a948f8495c
2024-06-28 19:44:43 +00:00

150 lines
5.3 KiB
YAML

options:
debug:
default: False
type: boolean
description: |
Enable debug logging.
remote-id-attribute:
default: 'HTTP_OIDC_ISS'
type: string
description: |
Attribute used to obtain the entity ID of the OpenID Connect Provider.
oidc-client-id:
default: ''
type: string
description: |
Client identifier used to connect to the OpenID Connect Provider.
oidc-client-secret:
default: ''
type: string
description: |
Password used to authenticate with the OpenID Connect Provider.
oidc-provider-metadata-url:
default: ''
type: string
description: |
URL to discover the OpenID Connect Provider and obtain information
needed to interact with it, including its OAuth 2.0 endpoint
locations. Example: https://example.com/.well-known/openid-configuration
oidc-provider-issuer:
default: ''
type: string
description: |
Open ID Connect Provider issuer identifier (e.g. https://example.com
). Used when oidc-provider-metadata-url is not set or the metadata
obtained from that URL does not set it.
oidc-provider-auth-endpoint:
default: ''
type: string
description: |
Open ID Connect Provider authorization endpoint
(e.g. https://example.com/as/authorization.oauth2). Used when
oidc-provider-metadata-url is not set or the metadata obtained from that
URL does not set it.
oidc-provider-token-endpoint:
default: ''
type: string
description: |
Open ID Connect Provider token endpoint
(e.g. https://example.com/as/token.oauth2). Used when
oidc-provider-metadata-url is not set or the metadata obtained from that
URL does not set it.
oidc-provider-token-endpoint-auth:
default: ''
type: string
description: |
Authentication method for the Open ID Connect Provider token endpoint,
possible options are: client_secret_basic, client_secret_post,
client_secret_jwt, private_key_jwt or none. Used when
oidc-provider-metadata-url is not set or the metadata obtained from that
URL does not set it.
oidc-provider-user-info-endpoint:
default: ''
type: string
description: |
Open ID Connect Provider user info endpoint
(e.g. https://example.com/idp/userinfo.openid). Used when
oidc-provider-metadata-url is not set or the metadata obtained from that
URL does not set it.
oidc-x-forwarded-headers:
default: ''
type: string
description: |
X-Forwarded-* headers from reverse proxies that mod_auth_openidc should
look for. Must be one or more of "X-Forwarded-Host", "X-Forwarded-Port",
"X-Forwarded-Proto", "Forwarded", or "none". mod_auth_openidc ignores
this setting if it is "none" or undefined. Use this setting when using
a proxy that changes the protocol, host, or port when handling the
authentication workflow.
oidc-state-input-headers:
default: 'user-agent'
type: string
description: |
Define the headers mod_auth_openidc uses to calculate the browser
fingerprint during authentication. Set to "none" if using multiple
units of Keystone behind a load balancer or proxy.
oidc-session-type:
default: 'server-cache'
type: string
description: |
Set where OpenID Connect session cookies are stored. BY default cookies
are stored on the web server. Can be one of 'server-cache',
'server-cache:persistent', 'client-cookie', 'client-cookie:persistent',
'client-cookie:store_id_token', or
'client-cookie:persistent:store_id_token'. When using multiple units
of Keystone behind a proxy, use 'client-cookie:persistent' if you are
not using shared session storage for Keystone.
auth-type:
default: 'auth-openidc'
type: string
description: |
To add support to Bearer Access Token authentication flow that is used
by applications that do not adopt the browser flow, such the OpenStack
CLI, the auth-type must be set to auth-openidc (the default) otherwise
to openid-connect.
idp_id:
default: ''
type: string
description: |
The ID of the Identity Provider defined in Keystone.
protocol_id:
default: 'openid'
type: string
description: |
Federation protocol name.
oidc-remote-user-claim:
default: ''
type: string
description: |
The claim that is used when setting the REMOTE_USER variable on OpenID
Connect protected paths, for example: email.
oidc-provider-jwks-uri:
default: ''
type: string
description: |
.
enable-oauth:
default: true
type: boolean
description: |
Set to true to enable OAuth2 support.
oidc-oauth-verify-jwks-uri:
default: ''
type: string
description: |
The JWKs URL on which the Authorization Server publishes the keys used
to sign its JWT access tokens.
oidc-oauth-introspection-endpoint:
default: ''
type: string
description: |
OAuth 2.0 Authorization Server token introspection endpoint. When
`enable-oauth` is set to true and this option unset (the default), the
introspection endpoint available in the metadata will be used.
user-facing-name:
type: string
default: 'OpenID Connect via mapped'
description: |
A user-facing name to be used for the identity provider and protocol
combination. Used in the OpenStack dashboard.