Client

class Client : KotlinCustomResource

Allows for creating and managing Keycloak clients that use the SAML protocol. Clients are entities that can use Keycloak for user authentication. Typically, clients are applications that redirect users to Keycloak for authentication in order to take advantage of Keycloak's user sessions for SSO.

Import

Clients can be imported using the format {{realm_id}}/{{client_keycloak_id}}, where client_keycloak_id is the unique ID that Keycloak assigns to the client upon creation. This value can be found in the URI when editing this client in the GUI, and is typically a GUID. Example: bash

$ pulumi import keycloak:saml/client:Client saml_client my-realm/dcbc4c73-e478-4928-ae2e-d5e420223352

Properties

Link copied to clipboard

Always list this client in the Account UI, even if the user does not have an active session.

Link copied to clipboard

SAML POST Binding URL for the client's assertion consumer service (login responses).

Link copied to clipboard

SAML Redirect Binding URL for the client's assertion consumer service (login responses).

Link copied to clipboard

Override realm authentication flow bindings

Link copied to clipboard
val baseUrl: Output<String>?

When specified, this URL will be used whenever Keycloak needs to link to this client.

Link copied to clipboard

The Canonicalization Method for XML signatures. Should be one of "EXCLUSIVE", "EXCLUSIVE_WITH_COMMENTS", "INCLUSIVE", or "INCLUSIVE_WITH_COMMENTS". Defaults to "EXCLUSIVE".

Link copied to clipboard
val clientId: Output<String>

The unique ID of this client, referenced in the URI during authentication and in issued tokens.

Link copied to clipboard

When true, Keycloak will expect that documents originating from a client will be signed using the certificate and/or key configured via signing_certificate and signing_private_key. Defaults to true.

Link copied to clipboard

When true, users have to consent to client access. Defaults to false.

Link copied to clipboard
val description: Output<String>?

The description of this client in the GUI.

Link copied to clipboard
val enabled: Output<Boolean>?

When false, this client will not be able to initiate a login or obtain access tokens. Defaults to true.

Link copied to clipboard

When true, the SAML assertions will be encrypted by Keycloak using the client's public key. Defaults to false.

Link copied to clipboard

If assertions for the client are encrypted, this certificate will be used for encryption.

Link copied to clipboard

(Computed) The sha1sum fingerprint of the encryption certificate. If the encryption certificate is not in correct base64 format, this will be left empty.

Link copied to clipboard
val extraConfig: Output<Map<String, String>>?
Link copied to clipboard

Ignore requested NameID subject format and use the one defined in name_id_format instead. Defaults to false.

Link copied to clipboard

When true, Keycloak will always respond to an authentication request via the SAML POST Binding. Defaults to true.

Link copied to clipboard

When true, this client will require a browser redirect in order to perform a logout. Defaults to true.

Link copied to clipboard

Allow to include all roles mappings in the access token

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Relay state you want to send with SAML request when you want to do IDP Initiated SSO.

Link copied to clipboard

URL fragment name to reference client when you want to do IDP Initiated SSO.

Link copied to clipboard

When true, an AuthnStatement will be included in the SAML response. Defaults to true.

Link copied to clipboard
val loginTheme: Output<String>?

The login theme of this client.

Link copied to clipboard

SAML POST Binding URL for the client's single logout service.

Link copied to clipboard

SAML Redirect Binding URL for the client's single logout service.

Link copied to clipboard

When specified, this URL will be used for all SAML requests.

Link copied to clipboard
val name: Output<String>

The display name of this client in the GUI.

Link copied to clipboard
val nameIdFormat: Output<String>

Sets the Name ID format for the subject.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val realmId: Output<String>

The realm this client is attached to.

Link copied to clipboard
val rootUrl: Output<String>?

When specified, this value is prepended to all relative URLs.

Link copied to clipboard
val signAssertions: Output<Boolean>?

When true, the SAML assertions will be signed by Keycloak using the realm's private key, and embedded within the SAML XML Auth response. Defaults to false.

Link copied to clipboard

The signature algorithm used to sign documents. Should be one of "RSA_SHA1", "RSA_SHA256", "RSA_SHA256_MGF1, "RSA_SHA512", "RSA_SHA512_MGF1" or "DSA_SHA1".

Link copied to clipboard
val signatureKeyName: Output<String>?

The value of the KeyName element within the signed SAML document. Should be one of "NONE", "KEY_ID", or "CERT_SUBJECT". Defaults to "KEY_ID".

Link copied to clipboard
val signDocuments: Output<Boolean>?

When true, the SAML document will be signed by Keycloak using the realm's private key. Defaults to true.

Link copied to clipboard

If documents or assertions from the client are signed, this certificate will be used to verify the signature.

Link copied to clipboard

(Computed) The sha1sum fingerprint of the signing certificate. If the signing certificate is not in correct base64 format, this will be left empty.

Link copied to clipboard

If documents or assertions from the client are signed, this private key will be used to verify the signature.

Link copied to clipboard

(Computed) The sha1sum fingerprint of the signing private key. If the signing private key is not in correct base64 format, this will be left empty.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

When specified, Keycloak will use this list to validate given Assertion Consumer URLs specified in the authentication request.