Client
openidclient.keycloak.crossplane.io / v1alpha1
apiVersion: openidclient.keycloak.crossplane.io/v1alpha1
kind: Client
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object
spec object required
ClientSpec defines the desired state of Client
deletionPolicy
string
DeletionPolicy specifies what will happen to the underlying external
when this managed resource is deleted - either "Delete" or "Orphan" the
external resource.
This field is planned to be deprecated in favor of the ManagementPolicies
field in a future release. Currently, both could be set independently and
non-default values would be honored if the feature flag is enabled.
See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
enum:
Orphan, DeleteforProvider object required
accessTokenLifespan
string
The amount of time in seconds before an access token expires. This will override the default for the realm.
accessType
string
Specifies the type of client, which can be one of the following:
adminUrl
string
URL to the admin interface of the client.
allowRefreshTokenInStandardTokenExchange
string
Defines whether to allow refresh token in Standard Token Exchange. Possible values are NO (default) and SAME_SESSION.
alwaysDisplayInConsole
boolean
Always list this client in the Account UI, even if the user does not have an active session.
authenticationFlowBindingOverrides []object
Override realm authentication flow bindings
browserId
string
Browser flow id, (flow needs to exist)
browserIdRef object
Reference to a Flow in authenticationflow to populate browserId.
name
string required
Name of the referenced object.
policy object
Policies for referencing.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresentbrowserIdSelector object
Selector for a Flow in authenticationflow to populate browserId.
matchControllerRef
boolean
MatchControllerRef ensures an object with the same controller reference
as the selecting object is selected.
matchLabels
object
MatchLabels ensures an object with matching labels is selected.
policy object
Policies for selection.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresent
directGrantId
string
Direct grant flow id (flow needs to exist)
directGrantIdRef object
Reference to a Flow in authenticationflow to populate directGrantId.
name
string required
Name of the referenced object.
policy object
Policies for referencing.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresentdirectGrantIdSelector object
Selector for a Flow in authenticationflow to populate directGrantId.
matchControllerRef
boolean
MatchControllerRef ensures an object with the same controller reference
as the selecting object is selected.
matchLabels
object
MatchLabels ensures an object with matching labels is selected.
policy object
Policies for selection.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresentauthorization []object
When this block is present, fine-grained authorization will be enabled for this client. The client's access_type must be CONFIDENTIAL, and service_accounts_enabled must be true. This block has the following arguments:
allowRemoteResourceManagement
boolean
When true, resources can be managed remotely by the resource server. Defaults to false.
decisionStrategy
string
Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of AFFIRMATIVE, CONSENSUS, or UNANIMOUS. Applies to permissions.
keepDefaults
boolean
When true, defaults set by Keycloak will be respected. Defaults to false.
policyEnforcementMode
string
Dictates how policies are enforced when evaluating authorization requests. Can be one of ENFORCING, PERMISSIVE, or DISABLED.
backchannelLogoutRevokeOfflineSessions
boolean
Specifying whether a "revoke_offline_access" event is included in the Logout Token when the Backchannel Logout URL is used. Keycloak will revoke offline sessions when receiving a Logout Token with this event.
backchannelLogoutSessionRequired
boolean
When true, a sid (session ID) claim will be included in the logout token when the backchannel logout URL is used. Defaults to true.
backchannelLogoutUrl
string
The URL that will cause the client to log itself out when a logout request is sent to this realm. If omitted, no logout request will be sent to the client is this case.
baseUrl
string
Default URL to use when the auth server needs to redirect or link back to the client.
clientAuthenticatorType
string
Defaults to client-secret. The authenticator type for clients with an access_type of CONFIDENTIAL or BEARER-ONLY. A default Keycloak installation will have the following available types:
clientId
string
The Client ID for this client, referenced in the URI during authentication and in issued tokens.
clientOfflineSessionIdleTimeout
string
Time a client session is allowed to be idle before it expires. Tokens are invalidated when a client session is expired. If not set it uses the standard SSO Session Idle value.
clientOfflineSessionMaxLifespan
string
Max time before a client session is expired. Tokens are invalidated when a client session is expired. If not set, it uses the standard SSO Session Max value.
clientSecretRegenerateWhenChanged
object
Arbitrary map of values that, when changed, will trigger rotation of the secret. NOTE! Conflicts with client_secret, client_secret_wo and client_secret_wo_version attribute and can't be used together
Arbitrary map of values that, when changed, will trigger rotation of the secret
clientSecretSecretRef object
The secret for clients with an access_type of CONFIDENTIAL or BEARER-ONLY. This value is sensitive and should be treated with the same care as a password. If omitted, this will be generated by Keycloak.
key
string required
The key to select.
name
string required
Name of the secret.
namespace
string required
Namespace of the secret.
clientSecretWoSecretRef object
The secret for clients with an access_type of CONFIDENTIAL or BEARER-ONLY. If omitted, this will fallback to use client_secret.
Client Secret as write-only argument
key
string required
The key to select.
name
string required
Name of the secret.
namespace
string required
Namespace of the secret.
clientSecretWoVersion
number
The value of this argument is stored in the state and plan files. Required when using client_secret_wo.
Version of the Client secret write-only argument
clientSessionIdleTimeout
string
Time a client offline session is allowed to be idle before it expires. Offline tokens are invalidated when a client offline session is expired. If not set it uses the Offline Session Idle value.
clientSessionMaxLifespan
string
Max time before a client offline session is expired. Offline tokens are invalidated when a client offline session is expired. If not set, it uses the Offline Session Max value.
consentRequired
boolean
When true, users have to consent to client access. Defaults to false.
consentScreenText
string
The text to display on the consent screen about permissions specific to this client. This is applicable only when display_on_consent_screen is true.
description
string
The description of this client in the GUI.
directAccessGrantsEnabled
boolean
When true, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to false.
displayOnConsentScreen
boolean
When true, the consent screen will display information about the client itself. Defaults to false. This is applicable only when consent_required is true.
enabled
boolean
When false, this client will not be able to initiate a login or obtain access tokens. Defaults to true.
excludeIssuerFromAuthResponse
boolean
When true, the parameter iss will not be included in OpenID Connect Authentication Response.
excludeSessionStateFromAuthResponse
boolean
When true, the parameter session_state will not be included in OpenID Connect Authentication Response.
extraConfig
object
A map of key/value pairs to add extra configuration attributes to this client. Use this attribute at your own risk, as it may conflict with top-level configuration attributes in future provider updates. For example, the extra_config map can be used to set Authentication Context Class Reference (ACR) to Level of Authentication (LoA) mapping
frontchannelLogoutEnabled
boolean
When true, frontchannel logout will be enabled for this client. Specify the url with frontchannel_logout_url. Defaults to false.
frontchannelLogoutUrl
string
The frontchannel logout url. This is applicable only when frontchannel_logout_enabled is true.
fullScopeAllowed
boolean
Allow to include all roles mappings in the access token.
implicitFlowEnabled
boolean
When true, the OAuth2 Implicit Grant will be enabled for this client. Defaults to false.
import
boolean
When true, the client with the specified client_id is assumed to already exist, and it will be imported into state instead of being created. This attribute is useful when dealing with clients that Keycloak creates automatically during realm creation, such as account and admin-cli. Note, that the client will not be removed during destruction if import is true.
loginTheme
string
The client login theme. This will override the default theme for the realm.
name
string
The display name of this client in the GUI.
oauth2DeviceAuthorizationGrantEnabled
boolean
Enables support for OAuth 2.0 Device Authorization Grant, which means that client is an application on device that has limited input capabilities or lack a suitable browser.
oauth2DeviceCodeLifespan
string
The maximum amount of time a client has to finish the device code flow before it expires.
oauth2DevicePollingInterval
string
The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint.
oauth2JwtAuthorizationGrantEnabled
boolean
When false, this client will not be able to initiate a login or obtain access tokens. Defaults to true.
oauth2JwtAuthorizationGrantIdp
string
pkceCodeChallengeMethod
string
The challenge method to use for Proof Key for Code Exchange. Can be either plain or S256 or set to empty value “.
realmId
string
The realm this client is attached to.
realmIdRef object
Reference to a Realm in realm to populate realmId.
name
string required
Name of the referenced object.
policy object
Policies for referencing.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresentrealmIdSelector object
Selector for a Realm in realm to populate realmId.
matchControllerRef
boolean
MatchControllerRef ensures an object with the same controller reference
as the selecting object is selected.
matchLabels
object
MatchLabels ensures an object with matching labels is selected.
policy object
Policies for selection.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresent
requireDpopBoundTokens
boolean
Enable support for Demonstrating Proof-of-Possession (DPoP) bound tokens.
rootUrl
string
When specified, this URL is prepended to any relative URLs found within valid_redirect_uris, web_origins, and admin_url. NOTE: Due to limitations in the Keycloak API, when the root_url attribute is used, the valid_redirect_uris, web_origins, and admin_url attributes will be required.
serviceAccountsEnabled
boolean
When true, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to false.
standardFlowEnabled
boolean
When true, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to false.
standardTokenExchangeEnabled
boolean
Enables support for Standard Token Exchange
useRefreshTokens
boolean
If this is true, a refresh_token will be created and added to the token response. If this is false then no refresh_token will be generated. Defaults to true.
useRefreshTokensClientCredentials
boolean
If this is true, a refresh_token will be created and added to the token response if the client_credentials grant is used and a user session will be created. If this is false then no refresh_token will be generated and the associated user session will be removed, in accordance with OAuth 2.0 RFC6749 Section 4.4.3. Defaults to false.
validPostLogoutRedirectUris
[]string
A list of valid URIs a browser is permitted to redirect to after a successful logout.
validRedirectUris
[]string
A list of valid URIs a browser is permitted to redirect to after a successful login or logout. Simple
wildcards in the form of an asterisk can be used here. This attribute must be set if either standard_flow_enabled or implicit_flow_enabled
is set to true.
webOrigins
[]string
A list of allowed CORS origins. To permit all valid redirect URIs, add +. Note that this will not include the * wildcard. To permit all origins, explicitly add *.
initProvider object
THIS IS A BETA FIELD. It will be honored
unless the Management Policies feature flag is disabled.
InitProvider holds the same fields as ForProvider, with the exception
of Identifier and other resource reference fields. The fields that are
in InitProvider are merged into ForProvider when the resource is created.
The same fields are also added to the terraform ignore_changes hook, to
avoid updating them after creation. This is useful for fields that are
required on creation, but we do not desire to update them after creation,
for example because of an external controller is managing them, like an
autoscaler.
accessTokenLifespan
string
The amount of time in seconds before an access token expires. This will override the default for the realm.
accessType
string
Specifies the type of client, which can be one of the following:
adminUrl
string
URL to the admin interface of the client.
allowRefreshTokenInStandardTokenExchange
string
Defines whether to allow refresh token in Standard Token Exchange. Possible values are NO (default) and SAME_SESSION.
alwaysDisplayInConsole
boolean
Always list this client in the Account UI, even if the user does not have an active session.
authenticationFlowBindingOverrides []object
Override realm authentication flow bindings
browserId
string
Browser flow id, (flow needs to exist)
browserIdRef object
Reference to a Flow in authenticationflow to populate browserId.
name
string required
Name of the referenced object.
policy object
Policies for referencing.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresentbrowserIdSelector object
Selector for a Flow in authenticationflow to populate browserId.
matchControllerRef
boolean
MatchControllerRef ensures an object with the same controller reference
as the selecting object is selected.
matchLabels
object
MatchLabels ensures an object with matching labels is selected.
policy object
Policies for selection.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresent
directGrantId
string
Direct grant flow id (flow needs to exist)
directGrantIdRef object
Reference to a Flow in authenticationflow to populate directGrantId.
name
string required
Name of the referenced object.
policy object
Policies for referencing.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresentdirectGrantIdSelector object
Selector for a Flow in authenticationflow to populate directGrantId.
matchControllerRef
boolean
MatchControllerRef ensures an object with the same controller reference
as the selecting object is selected.
matchLabels
object
MatchLabels ensures an object with matching labels is selected.
policy object
Policies for selection.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresentauthorization []object
When this block is present, fine-grained authorization will be enabled for this client. The client's access_type must be CONFIDENTIAL, and service_accounts_enabled must be true. This block has the following arguments:
allowRemoteResourceManagement
boolean
When true, resources can be managed remotely by the resource server. Defaults to false.
decisionStrategy
string
Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of AFFIRMATIVE, CONSENSUS, or UNANIMOUS. Applies to permissions.
keepDefaults
boolean
When true, defaults set by Keycloak will be respected. Defaults to false.
policyEnforcementMode
string
Dictates how policies are enforced when evaluating authorization requests. Can be one of ENFORCING, PERMISSIVE, or DISABLED.
backchannelLogoutRevokeOfflineSessions
boolean
Specifying whether a "revoke_offline_access" event is included in the Logout Token when the Backchannel Logout URL is used. Keycloak will revoke offline sessions when receiving a Logout Token with this event.
backchannelLogoutSessionRequired
boolean
When true, a sid (session ID) claim will be included in the logout token when the backchannel logout URL is used. Defaults to true.
backchannelLogoutUrl
string
The URL that will cause the client to log itself out when a logout request is sent to this realm. If omitted, no logout request will be sent to the client is this case.
baseUrl
string
Default URL to use when the auth server needs to redirect or link back to the client.
clientAuthenticatorType
string
Defaults to client-secret. The authenticator type for clients with an access_type of CONFIDENTIAL or BEARER-ONLY. A default Keycloak installation will have the following available types:
clientId
string
The Client ID for this client, referenced in the URI during authentication and in issued tokens.
clientOfflineSessionIdleTimeout
string
Time a client session is allowed to be idle before it expires. Tokens are invalidated when a client session is expired. If not set it uses the standard SSO Session Idle value.
clientOfflineSessionMaxLifespan
string
Max time before a client session is expired. Tokens are invalidated when a client session is expired. If not set, it uses the standard SSO Session Max value.
clientSecretRegenerateWhenChanged
object
Arbitrary map of values that, when changed, will trigger rotation of the secret. NOTE! Conflicts with client_secret, client_secret_wo and client_secret_wo_version attribute and can't be used together
Arbitrary map of values that, when changed, will trigger rotation of the secret
clientSecretSecretRef object
The secret for clients with an access_type of CONFIDENTIAL or BEARER-ONLY. This value is sensitive and should be treated with the same care as a password. If omitted, this will be generated by Keycloak.
key
string required
The key to select.
name
string required
Name of the secret.
namespace
string required
Namespace of the secret.
clientSecretWoSecretRef object
The secret for clients with an access_type of CONFIDENTIAL or BEARER-ONLY. If omitted, this will fallback to use client_secret.
Client Secret as write-only argument
key
string required
The key to select.
name
string required
Name of the secret.
namespace
string required
Namespace of the secret.
clientSecretWoVersion
number
The value of this argument is stored in the state and plan files. Required when using client_secret_wo.
Version of the Client secret write-only argument
clientSessionIdleTimeout
string
Time a client offline session is allowed to be idle before it expires. Offline tokens are invalidated when a client offline session is expired. If not set it uses the Offline Session Idle value.
clientSessionMaxLifespan
string
Max time before a client offline session is expired. Offline tokens are invalidated when a client offline session is expired. If not set, it uses the Offline Session Max value.
consentRequired
boolean
When true, users have to consent to client access. Defaults to false.
consentScreenText
string
The text to display on the consent screen about permissions specific to this client. This is applicable only when display_on_consent_screen is true.
description
string
The description of this client in the GUI.
directAccessGrantsEnabled
boolean
When true, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to false.
displayOnConsentScreen
boolean
When true, the consent screen will display information about the client itself. Defaults to false. This is applicable only when consent_required is true.
enabled
boolean
When false, this client will not be able to initiate a login or obtain access tokens. Defaults to true.
excludeIssuerFromAuthResponse
boolean
When true, the parameter iss will not be included in OpenID Connect Authentication Response.
excludeSessionStateFromAuthResponse
boolean
When true, the parameter session_state will not be included in OpenID Connect Authentication Response.
extraConfig
object
A map of key/value pairs to add extra configuration attributes to this client. Use this attribute at your own risk, as it may conflict with top-level configuration attributes in future provider updates. For example, the extra_config map can be used to set Authentication Context Class Reference (ACR) to Level of Authentication (LoA) mapping
frontchannelLogoutEnabled
boolean
When true, frontchannel logout will be enabled for this client. Specify the url with frontchannel_logout_url. Defaults to false.
frontchannelLogoutUrl
string
The frontchannel logout url. This is applicable only when frontchannel_logout_enabled is true.
fullScopeAllowed
boolean
Allow to include all roles mappings in the access token.
implicitFlowEnabled
boolean
When true, the OAuth2 Implicit Grant will be enabled for this client. Defaults to false.
import
boolean
When true, the client with the specified client_id is assumed to already exist, and it will be imported into state instead of being created. This attribute is useful when dealing with clients that Keycloak creates automatically during realm creation, such as account and admin-cli. Note, that the client will not be removed during destruction if import is true.
loginTheme
string
The client login theme. This will override the default theme for the realm.
name
string
The display name of this client in the GUI.
oauth2DeviceAuthorizationGrantEnabled
boolean
Enables support for OAuth 2.0 Device Authorization Grant, which means that client is an application on device that has limited input capabilities or lack a suitable browser.
oauth2DeviceCodeLifespan
string
The maximum amount of time a client has to finish the device code flow before it expires.
oauth2DevicePollingInterval
string
The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint.
oauth2JwtAuthorizationGrantEnabled
boolean
When false, this client will not be able to initiate a login or obtain access tokens. Defaults to true.
oauth2JwtAuthorizationGrantIdp
string
pkceCodeChallengeMethod
string
The challenge method to use for Proof Key for Code Exchange. Can be either plain or S256 or set to empty value “.
realmId
string
The realm this client is attached to.
realmIdRef object
Reference to a Realm in realm to populate realmId.
name
string required
Name of the referenced object.
policy object
Policies for referencing.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresentrealmIdSelector object
Selector for a Realm in realm to populate realmId.
matchControllerRef
boolean
MatchControllerRef ensures an object with the same controller reference
as the selecting object is selected.
matchLabels
object
MatchLabels ensures an object with matching labels is selected.
policy object
Policies for selection.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresent
requireDpopBoundTokens
boolean
Enable support for Demonstrating Proof-of-Possession (DPoP) bound tokens.
rootUrl
string
When specified, this URL is prepended to any relative URLs found within valid_redirect_uris, web_origins, and admin_url. NOTE: Due to limitations in the Keycloak API, when the root_url attribute is used, the valid_redirect_uris, web_origins, and admin_url attributes will be required.
serviceAccountsEnabled
boolean
When true, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to false.
standardFlowEnabled
boolean
When true, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to false.
standardTokenExchangeEnabled
boolean
Enables support for Standard Token Exchange
useRefreshTokens
boolean
If this is true, a refresh_token will be created and added to the token response. If this is false then no refresh_token will be generated. Defaults to true.
useRefreshTokensClientCredentials
boolean
If this is true, a refresh_token will be created and added to the token response if the client_credentials grant is used and a user session will be created. If this is false then no refresh_token will be generated and the associated user session will be removed, in accordance with OAuth 2.0 RFC6749 Section 4.4.3. Defaults to false.
validPostLogoutRedirectUris
[]string
A list of valid URIs a browser is permitted to redirect to after a successful logout.
validRedirectUris
[]string
A list of valid URIs a browser is permitted to redirect to after a successful login or logout. Simple
wildcards in the form of an asterisk can be used here. This attribute must be set if either standard_flow_enabled or implicit_flow_enabled
is set to true.
webOrigins
[]string
A list of allowed CORS origins. To permit all valid redirect URIs, add +. Note that this will not include the * wildcard. To permit all origins, explicitly add *.
managementPolicies
[]string
THIS IS A BETA FIELD. It is on by default but can be opted out
through a Crossplane feature flag.
ManagementPolicies specify the array of actions Crossplane is allowed to
take on the managed and external resources.
This field is planned to replace the DeletionPolicy field in a future
release. Currently, both could be set independently and non-default
values would be honored if the feature flag is enabled. If both are
custom, the DeletionPolicy field will be ignored.
See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md
providerConfigRef object
ProviderConfigReference specifies how the provider that will be used to
create, observe, update, and delete this managed resource should be
configured.
name
string required
Name of the referenced object.
policy object
Policies for referencing.
resolution
string
Resolution specifies whether resolution of this reference is required.
The default is 'Required', which means the reconcile will fail if the
reference cannot be resolved. 'Optional' means this reference will be
a no-op if it cannot be resolved.
enum:
Required, Optional
resolve
string
Resolve specifies when this reference should be resolved. The default
is 'IfNotPresent', which will attempt to resolve the reference only when
the corresponding field is not present. Use 'Always' to resolve the
reference on every reconcile.
enum:
Always, IfNotPresentwriteConnectionSecretToRef object
WriteConnectionSecretToReference specifies the namespace and name of a
Secret to which any connection details for this managed resource should
be written. Connection details frequently include the endpoint, username,
and password required to connect to the managed resource.
name
string required
Name of the secret.
namespace
string required
Namespace of the secret.
status object
ClientStatus defines the observed state of Client.
atProvider object
accessTokenLifespan
string
The amount of time in seconds before an access token expires. This will override the default for the realm.
accessType
string
Specifies the type of client, which can be one of the following:
adminUrl
string
URL to the admin interface of the client.
allowRefreshTokenInStandardTokenExchange
string
Defines whether to allow refresh token in Standard Token Exchange. Possible values are NO (default) and SAME_SESSION.
alwaysDisplayInConsole
boolean
Always list this client in the Account UI, even if the user does not have an active session.
authenticationFlowBindingOverrides []object
Override realm authentication flow bindings
browserId
string
Browser flow id, (flow needs to exist)
directGrantId
string
Direct grant flow id (flow needs to exist)
authorization []object
When this block is present, fine-grained authorization will be enabled for this client. The client's access_type must be CONFIDENTIAL, and service_accounts_enabled must be true. This block has the following arguments:
allowRemoteResourceManagement
boolean
When true, resources can be managed remotely by the resource server. Defaults to false.
decisionStrategy
string
Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of AFFIRMATIVE, CONSENSUS, or UNANIMOUS. Applies to permissions.
keepDefaults
boolean
When true, defaults set by Keycloak will be respected. Defaults to false.
policyEnforcementMode
string
Dictates how policies are enforced when evaluating authorization requests. Can be one of ENFORCING, PERMISSIVE, or DISABLED.
backchannelLogoutRevokeOfflineSessions
boolean
Specifying whether a "revoke_offline_access" event is included in the Logout Token when the Backchannel Logout URL is used. Keycloak will revoke offline sessions when receiving a Logout Token with this event.
backchannelLogoutSessionRequired
boolean
When true, a sid (session ID) claim will be included in the logout token when the backchannel logout URL is used. Defaults to true.
backchannelLogoutUrl
string
The URL that will cause the client to log itself out when a logout request is sent to this realm. If omitted, no logout request will be sent to the client is this case.
baseUrl
string
Default URL to use when the auth server needs to redirect or link back to the client.
clientAuthenticatorType
string
Defaults to client-secret. The authenticator type for clients with an access_type of CONFIDENTIAL or BEARER-ONLY. A default Keycloak installation will have the following available types:
clientId
string
The Client ID for this client, referenced in the URI during authentication and in issued tokens.
clientOfflineSessionIdleTimeout
string
Time a client session is allowed to be idle before it expires. Tokens are invalidated when a client session is expired. If not set it uses the standard SSO Session Idle value.
clientOfflineSessionMaxLifespan
string
Max time before a client session is expired. Tokens are invalidated when a client session is expired. If not set, it uses the standard SSO Session Max value.
clientSecretRegenerateWhenChanged
object
Arbitrary map of values that, when changed, will trigger rotation of the secret. NOTE! Conflicts with client_secret, client_secret_wo and client_secret_wo_version attribute and can't be used together
Arbitrary map of values that, when changed, will trigger rotation of the secret
clientSecretWoVersion
number
The value of this argument is stored in the state and plan files. Required when using client_secret_wo.
Version of the Client secret write-only argument
clientSessionIdleTimeout
string
Time a client offline session is allowed to be idle before it expires. Offline tokens are invalidated when a client offline session is expired. If not set it uses the Offline Session Idle value.
clientSessionMaxLifespan
string
Max time before a client offline session is expired. Offline tokens are invalidated when a client offline session is expired. If not set, it uses the Offline Session Max value.
consentRequired
boolean
When true, users have to consent to client access. Defaults to false.
consentScreenText
string
The text to display on the consent screen about permissions specific to this client. This is applicable only when display_on_consent_screen is true.
description
string
The description of this client in the GUI.
directAccessGrantsEnabled
boolean
When true, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to false.
displayOnConsentScreen
boolean
When true, the consent screen will display information about the client itself. Defaults to false. This is applicable only when consent_required is true.
enabled
boolean
When false, this client will not be able to initiate a login or obtain access tokens. Defaults to true.
excludeIssuerFromAuthResponse
boolean
When true, the parameter iss will not be included in OpenID Connect Authentication Response.
excludeSessionStateFromAuthResponse
boolean
When true, the parameter session_state will not be included in OpenID Connect Authentication Response.
extraConfig
object
A map of key/value pairs to add extra configuration attributes to this client. Use this attribute at your own risk, as it may conflict with top-level configuration attributes in future provider updates. For example, the extra_config map can be used to set Authentication Context Class Reference (ACR) to Level of Authentication (LoA) mapping
frontchannelLogoutEnabled
boolean
When true, frontchannel logout will be enabled for this client. Specify the url with frontchannel_logout_url. Defaults to false.
frontchannelLogoutUrl
string
The frontchannel logout url. This is applicable only when frontchannel_logout_enabled is true.
fullScopeAllowed
boolean
Allow to include all roles mappings in the access token.
id
string
implicitFlowEnabled
boolean
When true, the OAuth2 Implicit Grant will be enabled for this client. Defaults to false.
import
boolean
When true, the client with the specified client_id is assumed to already exist, and it will be imported into state instead of being created. This attribute is useful when dealing with clients that Keycloak creates automatically during realm creation, such as account and admin-cli. Note, that the client will not be removed during destruction if import is true.
loginTheme
string
The client login theme. This will override the default theme for the realm.
name
string
The display name of this client in the GUI.
oauth2DeviceAuthorizationGrantEnabled
boolean
Enables support for OAuth 2.0 Device Authorization Grant, which means that client is an application on device that has limited input capabilities or lack a suitable browser.
oauth2DeviceCodeLifespan
string
The maximum amount of time a client has to finish the device code flow before it expires.
oauth2DevicePollingInterval
string
The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint.
oauth2JwtAuthorizationGrantEnabled
boolean
When false, this client will not be able to initiate a login or obtain access tokens. Defaults to true.
oauth2JwtAuthorizationGrantIdp
string
pkceCodeChallengeMethod
string
The challenge method to use for Proof Key for Code Exchange. Can be either plain or S256 or set to empty value “.
realmId
string
The realm this client is attached to.
requireDpopBoundTokens
boolean
Enable support for Demonstrating Proof-of-Possession (DPoP) bound tokens.
resourceServerId
string
(Computed) When authorization is enabled for this client, this attribute is the unique ID for the client (the same value as the .id attribute).
rootUrl
string
When specified, this URL is prepended to any relative URLs found within valid_redirect_uris, web_origins, and admin_url. NOTE: Due to limitations in the Keycloak API, when the root_url attribute is used, the valid_redirect_uris, web_origins, and admin_url attributes will be required.
serviceAccountUserId
string
(Computed) When service accounts are enabled for this client, this attribute is the unique ID for the Keycloak user that represents this service account.
serviceAccountsEnabled
boolean
When true, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to false.
standardFlowEnabled
boolean
When true, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to false.
standardTokenExchangeEnabled
boolean
Enables support for Standard Token Exchange
useRefreshTokens
boolean
If this is true, a refresh_token will be created and added to the token response. If this is false then no refresh_token will be generated. Defaults to true.
useRefreshTokensClientCredentials
boolean
If this is true, a refresh_token will be created and added to the token response if the client_credentials grant is used and a user session will be created. If this is false then no refresh_token will be generated and the associated user session will be removed, in accordance with OAuth 2.0 RFC6749 Section 4.4.3. Defaults to false.
validPostLogoutRedirectUris
[]string
A list of valid URIs a browser is permitted to redirect to after a successful logout.
validRedirectUris
[]string
A list of valid URIs a browser is permitted to redirect to after a successful login or logout. Simple
wildcards in the form of an asterisk can be used here. This attribute must be set if either standard_flow_enabled or implicit_flow_enabled
is set to true.
webOrigins
[]string
A list of allowed CORS origins. To permit all valid redirect URIs, add +. Note that this will not include the * wildcard. To permit all origins, explicitly add *.
conditions []object
Conditions of the resource.
lastTransitionTime
string required
LastTransitionTime is the last time this condition transitioned from one
status to another.
format:
date-time
message
string
A Message containing details about this condition's last transition from
one status to another, if any.
observedGeneration
integer
ObservedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format:
int64
reason
string required
A Reason for this condition's last transition from one status to another.
status
string required
Status of this condition; is it currently True, False, or Unknown?
type
string required
Type of this condition. At most one of each condition type may apply to
a resource at any point in time.
observedGeneration
integer
ObservedGeneration is the latest metadata.generation
which resulted in either a ready state, or stalled due to error
it can not recover from without human intervention.
format:
int64No matches. Try .spec.deletionPolicy for an exact path