Documentation
¶
Index ¶
- type Client
- type ClientArgs
- type ClientAuthenticationFlowBindingOverrides
- type ClientAuthenticationFlowBindingOverridesArgs
- func (ClientAuthenticationFlowBindingOverridesArgs) ElementType() reflect.Type
- func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutput() ClientAuthenticationFlowBindingOverridesOutput
- func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesOutput
- func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput
- func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput
- type ClientAuthenticationFlowBindingOverridesInput
- type ClientAuthenticationFlowBindingOverridesOutput
- func (o ClientAuthenticationFlowBindingOverridesOutput) BrowserId() pulumi.StringPtrOutput
- func (o ClientAuthenticationFlowBindingOverridesOutput) DirectGrantId() pulumi.StringPtrOutput
- func (ClientAuthenticationFlowBindingOverridesOutput) ElementType() reflect.Type
- func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutput() ClientAuthenticationFlowBindingOverridesOutput
- func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesOutput
- func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput
- func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput
- type ClientAuthenticationFlowBindingOverridesPtrInput
- type ClientAuthenticationFlowBindingOverridesPtrOutput
- func (o ClientAuthenticationFlowBindingOverridesPtrOutput) BrowserId() pulumi.StringPtrOutput
- func (o ClientAuthenticationFlowBindingOverridesPtrOutput) DirectGrantId() pulumi.StringPtrOutput
- func (o ClientAuthenticationFlowBindingOverridesPtrOutput) Elem() ClientAuthenticationFlowBindingOverridesOutput
- func (ClientAuthenticationFlowBindingOverridesPtrOutput) ElementType() reflect.Type
- func (o ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput
- func (o ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput
- type ClientDefaultScope
- type ClientDefaultScopeArgs
- type ClientDefaultScopeInput
- type ClientDefaultScopeOutput
- type ClientDefaultScopeState
- type ClientInput
- type ClientOutput
- type ClientScope
- type ClientScopeArgs
- type ClientScopeInput
- type ClientScopeOutput
- type ClientScopeState
- type ClientState
- type GetClientAuthenticationFlowBindingOverride
- type GetClientAuthenticationFlowBindingOverrideArgs
- func (GetClientAuthenticationFlowBindingOverrideArgs) ElementType() reflect.Type
- func (i GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutput() GetClientAuthenticationFlowBindingOverrideOutput
- func (i GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideOutput
- type GetClientAuthenticationFlowBindingOverrideArray
- func (GetClientAuthenticationFlowBindingOverrideArray) ElementType() reflect.Type
- func (i GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutput() GetClientAuthenticationFlowBindingOverrideArrayOutput
- func (i GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideArrayOutput
- type GetClientAuthenticationFlowBindingOverrideArrayInput
- type GetClientAuthenticationFlowBindingOverrideArrayOutput
- func (GetClientAuthenticationFlowBindingOverrideArrayOutput) ElementType() reflect.Type
- func (o GetClientAuthenticationFlowBindingOverrideArrayOutput) Index(i pulumi.IntInput) GetClientAuthenticationFlowBindingOverrideOutput
- func (o GetClientAuthenticationFlowBindingOverrideArrayOutput) ToGetClientAuthenticationFlowBindingOverrideArrayOutput() GetClientAuthenticationFlowBindingOverrideArrayOutput
- func (o GetClientAuthenticationFlowBindingOverrideArrayOutput) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideArrayOutput
- type GetClientAuthenticationFlowBindingOverrideInput
- type GetClientAuthenticationFlowBindingOverrideOutput
- func (o GetClientAuthenticationFlowBindingOverrideOutput) BrowserId() pulumi.StringOutput
- func (o GetClientAuthenticationFlowBindingOverrideOutput) DirectGrantId() pulumi.StringOutput
- func (GetClientAuthenticationFlowBindingOverrideOutput) ElementType() reflect.Type
- func (o GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutput() GetClientAuthenticationFlowBindingOverrideOutput
- func (o GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideOutput
- type GetClientInstallationProviderArgs
- type GetClientInstallationProviderResult
- type IdentityProvider
- type IdentityProviderArgs
- type IdentityProviderInput
- type IdentityProviderOutput
- type IdentityProviderState
- type LookupClientArgs
- type LookupClientResult
- type UserAttributeProtocolMapper
- func (UserAttributeProtocolMapper) ElementType() reflect.Type
- func (i UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutput() UserAttributeProtocolMapperOutput
- func (i UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutputWithContext(ctx context.Context) UserAttributeProtocolMapperOutput
- type UserAttributeProtocolMapperArgs
- type UserAttributeProtocolMapperInput
- type UserAttributeProtocolMapperOutput
- func (UserAttributeProtocolMapperOutput) ElementType() reflect.Type
- func (o UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutput() UserAttributeProtocolMapperOutput
- func (o UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutputWithContext(ctx context.Context) UserAttributeProtocolMapperOutput
- type UserAttributeProtocolMapperState
- type UserPropertyProtocolMapper
- func (UserPropertyProtocolMapper) ElementType() reflect.Type
- func (i UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutput() UserPropertyProtocolMapperOutput
- func (i UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutputWithContext(ctx context.Context) UserPropertyProtocolMapperOutput
- type UserPropertyProtocolMapperArgs
- type UserPropertyProtocolMapperInput
- type UserPropertyProtocolMapperOutput
- func (UserPropertyProtocolMapperOutput) ElementType() reflect.Type
- func (o UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutput() UserPropertyProtocolMapperOutput
- func (o UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutputWithContext(ctx context.Context) UserPropertyProtocolMapperOutput
- type UserPropertyProtocolMapperState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { pulumi.CustomResourceState // SAML POST Binding URL for the client's assertion consumer service (login responses). AssertionConsumerPostUrl pulumi.StringPtrOutput `pulumi:"assertionConsumerPostUrl"` // SAML Redirect Binding URL for the client's assertion consumer service (login responses). AssertionConsumerRedirectUrl pulumi.StringPtrOutput `pulumi:"assertionConsumerRedirectUrl"` // Override realm authentication flow bindings AuthenticationFlowBindingOverrides ClientAuthenticationFlowBindingOverridesPtrOutput `pulumi:"authenticationFlowBindingOverrides"` // When specified, this URL will be used whenever Keycloak needs to link to this client. BaseUrl pulumi.StringPtrOutput `pulumi:"baseUrl"` // The unique ID of this client, referenced in the URI during authentication and in issued tokens. ClientId pulumi.StringOutput `pulumi:"clientId"` // When `true`, Keycloak will expect that documents originating from a client will be signed using the certificate and/or key configured via `signingCertificate` and `signingPrivateKey`. ClientSignatureRequired pulumi.BoolOutput `pulumi:"clientSignatureRequired"` // The description of this client in the GUI. Description pulumi.StringPtrOutput `pulumi:"description"` // When false, this client will not be able to initiate a login or obtain access tokens. Defaults to `true`. Enabled pulumi.BoolPtrOutput `pulumi:"enabled"` // When `true`, the SAML assertions will be encrypted by Keycloak using the client's public key. EncryptAssertions pulumi.BoolOutput `pulumi:"encryptAssertions"` // If assertions for the client are encrypted, this certificate will be used for encryption. EncryptionCertificate pulumi.StringPtrOutput `pulumi:"encryptionCertificate"` // Ignore requested NameID subject format and use the one defined in `nameIdFormat` instead. ForceNameIdFormat pulumi.BoolOutput `pulumi:"forceNameIdFormat"` // When `true`, Keycloak will always respond to an authentication request via the SAML POST Binding. ForcePostBinding pulumi.BoolOutput `pulumi:"forcePostBinding"` // When `true`, this client will require a browser redirect in order to perform a logout. FrontChannelLogout pulumi.BoolOutput `pulumi:"frontChannelLogout"` // - Allow to include all roles mappings in the access token FullScopeAllowed pulumi.BoolPtrOutput `pulumi:"fullScopeAllowed"` // Relay state you want to send with SAML request when you want to do IDP Initiated SSO. IdpInitiatedSsoRelayState pulumi.StringPtrOutput `pulumi:"idpInitiatedSsoRelayState"` // URL fragment name to reference client when you want to do IDP Initiated SSO. IdpInitiatedSsoUrlName pulumi.StringPtrOutput `pulumi:"idpInitiatedSsoUrlName"` // When `true`, an `AuthnStatement` will be included in the SAML response. IncludeAuthnStatement pulumi.BoolOutput `pulumi:"includeAuthnStatement"` // SAML POST Binding URL for the client's single logout service. LogoutServicePostBindingUrl pulumi.StringPtrOutput `pulumi:"logoutServicePostBindingUrl"` // SAML Redirect Binding URL for the client's single logout service. LogoutServiceRedirectBindingUrl pulumi.StringPtrOutput `pulumi:"logoutServiceRedirectBindingUrl"` // When specified, this URL will be used for all SAML requests. MasterSamlProcessingUrl pulumi.StringPtrOutput `pulumi:"masterSamlProcessingUrl"` // The display name of this client in the GUI. Name pulumi.StringOutput `pulumi:"name"` // Sets the Name ID format for the subject. NameIdFormat pulumi.StringOutput `pulumi:"nameIdFormat"` // The realm this client is attached to. RealmId pulumi.StringOutput `pulumi:"realmId"` // When specified, this value is prepended to all relative URLs. RootUrl pulumi.StringPtrOutput `pulumi:"rootUrl"` // When `true`, the SAML assertions will be signed by Keycloak using the realm's private key, and embedded within the SAML XML Auth response. SignAssertions pulumi.BoolOutput `pulumi:"signAssertions"` // When `true`, the SAML document will be signed by Keycloak using the realm's private key. SignDocuments pulumi.BoolOutput `pulumi:"signDocuments"` // The signature algorithm used to sign documents. Should be one of "RSA_SHA1", "RSA_SHA256", "RSA_SHA512", or "DSA_SHA1". SignatureAlgorithm pulumi.StringPtrOutput `pulumi:"signatureAlgorithm"` // If documents or assertions from the client are signed, this certificate will be used to verify the signature. SigningCertificate pulumi.StringPtrOutput `pulumi:"signingCertificate"` // If documents or assertions from the client are signed, this private key will be used to verify the signature. SigningPrivateKey pulumi.StringPtrOutput `pulumi:"signingPrivateKey"` // When specified, Keycloak will use this list to validate given Assertion Consumer URLs specified in the authentication request. ValidRedirectUris pulumi.StringArrayOutput `pulumi:"validRedirectUris"` }
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. Examplebash
```sh
$ pulumi import keycloak:saml/client:Client saml_client my-realm/dcbc4c73-e478-4928-ae2e-d5e420223352
```
func GetClient ¶
func GetClient(ctx *pulumi.Context, name string, id pulumi.IDInput, state *ClientState, opts ...pulumi.ResourceOption) (*Client, error)
GetClient gets an existing Client resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewClient ¶
func NewClient(ctx *pulumi.Context, name string, args *ClientArgs, opts ...pulumi.ResourceOption) (*Client, error)
NewClient registers a new resource with the given unique name, arguments, and options.
func (Client) ElementType ¶ added in v3.1.1
func (Client) ToClientOutput ¶ added in v3.1.1
func (i Client) ToClientOutput() ClientOutput
func (Client) ToClientOutputWithContext ¶ added in v3.1.1
func (i Client) ToClientOutputWithContext(ctx context.Context) ClientOutput
type ClientArgs ¶
type ClientArgs struct { // SAML POST Binding URL for the client's assertion consumer service (login responses). AssertionConsumerPostUrl pulumi.StringPtrInput // SAML Redirect Binding URL for the client's assertion consumer service (login responses). AssertionConsumerRedirectUrl pulumi.StringPtrInput // Override realm authentication flow bindings AuthenticationFlowBindingOverrides ClientAuthenticationFlowBindingOverridesPtrInput // When specified, this URL will be used whenever Keycloak needs to link to this client. BaseUrl pulumi.StringPtrInput // The unique ID of this client, referenced in the URI during authentication and in issued tokens. ClientId pulumi.StringInput // When `true`, Keycloak will expect that documents originating from a client will be signed using the certificate and/or key configured via `signingCertificate` and `signingPrivateKey`. ClientSignatureRequired pulumi.BoolPtrInput // The description of this client in the GUI. Description pulumi.StringPtrInput // When false, this client will not be able to initiate a login or obtain access tokens. Defaults to `true`. Enabled pulumi.BoolPtrInput // When `true`, the SAML assertions will be encrypted by Keycloak using the client's public key. EncryptAssertions pulumi.BoolPtrInput // If assertions for the client are encrypted, this certificate will be used for encryption. EncryptionCertificate pulumi.StringPtrInput // Ignore requested NameID subject format and use the one defined in `nameIdFormat` instead. ForceNameIdFormat pulumi.BoolPtrInput // When `true`, Keycloak will always respond to an authentication request via the SAML POST Binding. ForcePostBinding pulumi.BoolPtrInput // When `true`, this client will require a browser redirect in order to perform a logout. FrontChannelLogout pulumi.BoolPtrInput // - Allow to include all roles mappings in the access token FullScopeAllowed pulumi.BoolPtrInput // Relay state you want to send with SAML request when you want to do IDP Initiated SSO. IdpInitiatedSsoRelayState pulumi.StringPtrInput // URL fragment name to reference client when you want to do IDP Initiated SSO. IdpInitiatedSsoUrlName pulumi.StringPtrInput // When `true`, an `AuthnStatement` will be included in the SAML response. IncludeAuthnStatement pulumi.BoolPtrInput // SAML POST Binding URL for the client's single logout service. LogoutServicePostBindingUrl pulumi.StringPtrInput // SAML Redirect Binding URL for the client's single logout service. LogoutServiceRedirectBindingUrl pulumi.StringPtrInput // When specified, this URL will be used for all SAML requests. MasterSamlProcessingUrl pulumi.StringPtrInput // The display name of this client in the GUI. Name pulumi.StringPtrInput // Sets the Name ID format for the subject. NameIdFormat pulumi.StringPtrInput // The realm this client is attached to. RealmId pulumi.StringInput // When specified, this value is prepended to all relative URLs. RootUrl pulumi.StringPtrInput // When `true`, the SAML assertions will be signed by Keycloak using the realm's private key, and embedded within the SAML XML Auth response. SignAssertions pulumi.BoolPtrInput // When `true`, the SAML document will be signed by Keycloak using the realm's private key. SignDocuments pulumi.BoolPtrInput // The signature algorithm used to sign documents. Should be one of "RSA_SHA1", "RSA_SHA256", "RSA_SHA512", or "DSA_SHA1". SignatureAlgorithm pulumi.StringPtrInput // If documents or assertions from the client are signed, this certificate will be used to verify the signature. SigningCertificate pulumi.StringPtrInput // If documents or assertions from the client are signed, this private key will be used to verify the signature. SigningPrivateKey pulumi.StringPtrInput // When specified, Keycloak will use this list to validate given Assertion Consumer URLs specified in the authentication request. ValidRedirectUris pulumi.StringArrayInput }
The set of arguments for constructing a Client resource.
func (ClientArgs) ElementType ¶
func (ClientArgs) ElementType() reflect.Type
type ClientAuthenticationFlowBindingOverrides ¶ added in v3.2.0
type ClientAuthenticationFlowBindingOverridesArgs ¶ added in v3.2.0
type ClientAuthenticationFlowBindingOverridesArgs struct { // Browser flow id, (flow needs to exist) BrowserId pulumi.StringPtrInput `pulumi:"browserId"` // Direct grant flow id (flow needs to exist) DirectGrantId pulumi.StringPtrInput `pulumi:"directGrantId"` }
func (ClientAuthenticationFlowBindingOverridesArgs) ElementType ¶ added in v3.2.0
func (ClientAuthenticationFlowBindingOverridesArgs) ElementType() reflect.Type
func (ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutput ¶ added in v3.2.0
func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutput() ClientAuthenticationFlowBindingOverridesOutput
func (ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutputWithContext ¶ added in v3.2.0
func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesOutput
func (ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutput ¶ added in v3.2.0
func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput
func (ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext ¶ added in v3.2.0
func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput
type ClientAuthenticationFlowBindingOverridesInput ¶ added in v3.2.0
type ClientAuthenticationFlowBindingOverridesInput interface { pulumi.Input ToClientAuthenticationFlowBindingOverridesOutput() ClientAuthenticationFlowBindingOverridesOutput ToClientAuthenticationFlowBindingOverridesOutputWithContext(context.Context) ClientAuthenticationFlowBindingOverridesOutput }
ClientAuthenticationFlowBindingOverridesInput is an input type that accepts ClientAuthenticationFlowBindingOverridesArgs and ClientAuthenticationFlowBindingOverridesOutput values. You can construct a concrete instance of `ClientAuthenticationFlowBindingOverridesInput` via:
ClientAuthenticationFlowBindingOverridesArgs{...}
type ClientAuthenticationFlowBindingOverridesOutput ¶ added in v3.2.0
type ClientAuthenticationFlowBindingOverridesOutput struct{ *pulumi.OutputState }
func (ClientAuthenticationFlowBindingOverridesOutput) BrowserId ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesOutput) BrowserId() pulumi.StringPtrOutput
Browser flow id, (flow needs to exist)
func (ClientAuthenticationFlowBindingOverridesOutput) DirectGrantId ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesOutput) DirectGrantId() pulumi.StringPtrOutput
Direct grant flow id (flow needs to exist)
func (ClientAuthenticationFlowBindingOverridesOutput) ElementType ¶ added in v3.2.0
func (ClientAuthenticationFlowBindingOverridesOutput) ElementType() reflect.Type
func (ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutput ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutput() ClientAuthenticationFlowBindingOverridesOutput
func (ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutputWithContext ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesOutput
func (ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput
func (ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput
type ClientAuthenticationFlowBindingOverridesPtrInput ¶ added in v3.2.0
type ClientAuthenticationFlowBindingOverridesPtrInput interface { pulumi.Input ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput }
ClientAuthenticationFlowBindingOverridesPtrInput is an input type that accepts ClientAuthenticationFlowBindingOverridesArgs, ClientAuthenticationFlowBindingOverridesPtr and ClientAuthenticationFlowBindingOverridesPtrOutput values. You can construct a concrete instance of `ClientAuthenticationFlowBindingOverridesPtrInput` via:
ClientAuthenticationFlowBindingOverridesArgs{...} or: nil
func ClientAuthenticationFlowBindingOverridesPtr ¶ added in v3.2.0
func ClientAuthenticationFlowBindingOverridesPtr(v *ClientAuthenticationFlowBindingOverridesArgs) ClientAuthenticationFlowBindingOverridesPtrInput
type ClientAuthenticationFlowBindingOverridesPtrOutput ¶ added in v3.2.0
type ClientAuthenticationFlowBindingOverridesPtrOutput struct{ *pulumi.OutputState }
func (ClientAuthenticationFlowBindingOverridesPtrOutput) BrowserId ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesPtrOutput) BrowserId() pulumi.StringPtrOutput
Browser flow id, (flow needs to exist)
func (ClientAuthenticationFlowBindingOverridesPtrOutput) DirectGrantId ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesPtrOutput) DirectGrantId() pulumi.StringPtrOutput
Direct grant flow id (flow needs to exist)
func (ClientAuthenticationFlowBindingOverridesPtrOutput) ElementType ¶ added in v3.2.0
func (ClientAuthenticationFlowBindingOverridesPtrOutput) ElementType() reflect.Type
func (ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput
func (ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext ¶ added in v3.2.0
func (o ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput
type ClientDefaultScope ¶
type ClientDefaultScope struct { pulumi.CustomResourceState // The ID of the client to attach default scopes to. Note that this is the unique ID of the client generated by Keycloak. ClientId pulumi.StringOutput `pulumi:"clientId"` // An array of client scope names to attach to this client. DefaultScopes pulumi.StringArrayOutput `pulumi:"defaultScopes"` // The realm this client and scopes exists in. RealmId pulumi.StringOutput `pulumi:"realmId"` }
## Import
This resource does not support import. Instead of importing, feel free to create this resource as if it did not already exist on the server.
func GetClientDefaultScope ¶
func GetClientDefaultScope(ctx *pulumi.Context, name string, id pulumi.IDInput, state *ClientDefaultScopeState, opts ...pulumi.ResourceOption) (*ClientDefaultScope, error)
GetClientDefaultScope gets an existing ClientDefaultScope resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewClientDefaultScope ¶
func NewClientDefaultScope(ctx *pulumi.Context, name string, args *ClientDefaultScopeArgs, opts ...pulumi.ResourceOption) (*ClientDefaultScope, error)
NewClientDefaultScope registers a new resource with the given unique name, arguments, and options.
func (ClientDefaultScope) ElementType ¶ added in v3.1.1
func (ClientDefaultScope) ElementType() reflect.Type
func (ClientDefaultScope) ToClientDefaultScopeOutput ¶ added in v3.1.1
func (i ClientDefaultScope) ToClientDefaultScopeOutput() ClientDefaultScopeOutput
func (ClientDefaultScope) ToClientDefaultScopeOutputWithContext ¶ added in v3.1.1
func (i ClientDefaultScope) ToClientDefaultScopeOutputWithContext(ctx context.Context) ClientDefaultScopeOutput
type ClientDefaultScopeArgs ¶
type ClientDefaultScopeArgs struct { // The ID of the client to attach default scopes to. Note that this is the unique ID of the client generated by Keycloak. ClientId pulumi.StringInput // An array of client scope names to attach to this client. DefaultScopes pulumi.StringArrayInput // The realm this client and scopes exists in. RealmId pulumi.StringInput }
The set of arguments for constructing a ClientDefaultScope resource.
func (ClientDefaultScopeArgs) ElementType ¶
func (ClientDefaultScopeArgs) ElementType() reflect.Type
type ClientDefaultScopeInput ¶ added in v3.1.1
type ClientDefaultScopeInput interface { pulumi.Input ToClientDefaultScopeOutput() ClientDefaultScopeOutput ToClientDefaultScopeOutputWithContext(ctx context.Context) ClientDefaultScopeOutput }
type ClientDefaultScopeOutput ¶ added in v3.1.1
type ClientDefaultScopeOutput struct {
*pulumi.OutputState
}
func (ClientDefaultScopeOutput) ElementType ¶ added in v3.1.1
func (ClientDefaultScopeOutput) ElementType() reflect.Type
func (ClientDefaultScopeOutput) ToClientDefaultScopeOutput ¶ added in v3.1.1
func (o ClientDefaultScopeOutput) ToClientDefaultScopeOutput() ClientDefaultScopeOutput
func (ClientDefaultScopeOutput) ToClientDefaultScopeOutputWithContext ¶ added in v3.1.1
func (o ClientDefaultScopeOutput) ToClientDefaultScopeOutputWithContext(ctx context.Context) ClientDefaultScopeOutput
type ClientDefaultScopeState ¶
type ClientDefaultScopeState struct { // The ID of the client to attach default scopes to. Note that this is the unique ID of the client generated by Keycloak. ClientId pulumi.StringPtrInput // An array of client scope names to attach to this client. DefaultScopes pulumi.StringArrayInput // The realm this client and scopes exists in. RealmId pulumi.StringPtrInput }
func (ClientDefaultScopeState) ElementType ¶
func (ClientDefaultScopeState) ElementType() reflect.Type
type ClientInput ¶ added in v3.1.1
type ClientInput interface { pulumi.Input ToClientOutput() ClientOutput ToClientOutputWithContext(ctx context.Context) ClientOutput }
type ClientOutput ¶ added in v3.1.1
type ClientOutput struct {
*pulumi.OutputState
}
func (ClientOutput) ElementType ¶ added in v3.1.1
func (ClientOutput) ElementType() reflect.Type
func (ClientOutput) ToClientOutput ¶ added in v3.1.1
func (o ClientOutput) ToClientOutput() ClientOutput
func (ClientOutput) ToClientOutputWithContext ¶ added in v3.1.1
func (o ClientOutput) ToClientOutputWithContext(ctx context.Context) ClientOutput
type ClientScope ¶
type ClientScope struct { pulumi.CustomResourceState // When set, a consent screen will be displayed to users authenticating to clients with this scope attached. The consent screen will display the string value of this attribute. ConsentScreenText pulumi.StringPtrOutput `pulumi:"consentScreenText"` // The description of this client scope in the GUI. Description pulumi.StringPtrOutput `pulumi:"description"` // Specify order of the client scope in GUI (such as in Consent page) as integer. GuiOrder pulumi.IntPtrOutput `pulumi:"guiOrder"` // The display name of this client scope in the GUI. Name pulumi.StringOutput `pulumi:"name"` // The realm this client scope belongs to. RealmId pulumi.StringOutput `pulumi:"realmId"` }
Allows for creating and managing Keycloak client scopes that can be attached to clients that use the SAML protocol.
Client Scopes can be used to share common protocol and role mappings between multiple clients within a realm.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak" "github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak/saml" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { realm, err := keycloak.NewRealm(ctx, "realm", &keycloak.RealmArgs{ Realm: pulumi.String("my-realm"), Enabled: pulumi.Bool(true), }) if err != nil { return err } _, err = saml.NewClientScope(ctx, "samlClientScope", &saml.ClientScopeArgs{ RealmId: realm.ID(), Description: pulumi.String("This scope will map a user's group memberships to SAML assertion"), GuiOrder: pulumi.Int(1), }) if err != nil { return err } return nil }) }
```
## Import
Client scopes can be imported using the format `{{realm_id}}/{{client_scope_id}}`, where `client_scope_id` is the unique ID that Keycloak assigns to the client scope upon creation. This value can be found in the URI when editing this client scope in the GUI, and is typically a GUID. Examplebash
```sh
$ pulumi import keycloak:saml/clientScope:ClientScope saml_client_scope my-realm/e8a5d115-6985-4de3-a0f5-732e1be4525e
```
func GetClientScope ¶
func GetClientScope(ctx *pulumi.Context, name string, id pulumi.IDInput, state *ClientScopeState, opts ...pulumi.ResourceOption) (*ClientScope, error)
GetClientScope gets an existing ClientScope resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewClientScope ¶
func NewClientScope(ctx *pulumi.Context, name string, args *ClientScopeArgs, opts ...pulumi.ResourceOption) (*ClientScope, error)
NewClientScope registers a new resource with the given unique name, arguments, and options.
func (ClientScope) ElementType ¶ added in v3.1.1
func (ClientScope) ElementType() reflect.Type
func (ClientScope) ToClientScopeOutput ¶ added in v3.1.1
func (i ClientScope) ToClientScopeOutput() ClientScopeOutput
func (ClientScope) ToClientScopeOutputWithContext ¶ added in v3.1.1
func (i ClientScope) ToClientScopeOutputWithContext(ctx context.Context) ClientScopeOutput
type ClientScopeArgs ¶
type ClientScopeArgs struct { // When set, a consent screen will be displayed to users authenticating to clients with this scope attached. The consent screen will display the string value of this attribute. ConsentScreenText pulumi.StringPtrInput // The description of this client scope in the GUI. Description pulumi.StringPtrInput // Specify order of the client scope in GUI (such as in Consent page) as integer. GuiOrder pulumi.IntPtrInput // The display name of this client scope in the GUI. Name pulumi.StringPtrInput // The realm this client scope belongs to. RealmId pulumi.StringInput }
The set of arguments for constructing a ClientScope resource.
func (ClientScopeArgs) ElementType ¶
func (ClientScopeArgs) ElementType() reflect.Type
type ClientScopeInput ¶ added in v3.1.1
type ClientScopeInput interface { pulumi.Input ToClientScopeOutput() ClientScopeOutput ToClientScopeOutputWithContext(ctx context.Context) ClientScopeOutput }
type ClientScopeOutput ¶ added in v3.1.1
type ClientScopeOutput struct {
*pulumi.OutputState
}
func (ClientScopeOutput) ElementType ¶ added in v3.1.1
func (ClientScopeOutput) ElementType() reflect.Type
func (ClientScopeOutput) ToClientScopeOutput ¶ added in v3.1.1
func (o ClientScopeOutput) ToClientScopeOutput() ClientScopeOutput
func (ClientScopeOutput) ToClientScopeOutputWithContext ¶ added in v3.1.1
func (o ClientScopeOutput) ToClientScopeOutputWithContext(ctx context.Context) ClientScopeOutput
type ClientScopeState ¶
type ClientScopeState struct { // When set, a consent screen will be displayed to users authenticating to clients with this scope attached. The consent screen will display the string value of this attribute. ConsentScreenText pulumi.StringPtrInput // The description of this client scope in the GUI. Description pulumi.StringPtrInput // Specify order of the client scope in GUI (such as in Consent page) as integer. GuiOrder pulumi.IntPtrInput // The display name of this client scope in the GUI. Name pulumi.StringPtrInput // The realm this client scope belongs to. RealmId pulumi.StringPtrInput }
func (ClientScopeState) ElementType ¶
func (ClientScopeState) ElementType() reflect.Type
type ClientState ¶
type ClientState struct { // SAML POST Binding URL for the client's assertion consumer service (login responses). AssertionConsumerPostUrl pulumi.StringPtrInput // SAML Redirect Binding URL for the client's assertion consumer service (login responses). AssertionConsumerRedirectUrl pulumi.StringPtrInput // Override realm authentication flow bindings AuthenticationFlowBindingOverrides ClientAuthenticationFlowBindingOverridesPtrInput // When specified, this URL will be used whenever Keycloak needs to link to this client. BaseUrl pulumi.StringPtrInput // The unique ID of this client, referenced in the URI during authentication and in issued tokens. ClientId pulumi.StringPtrInput // When `true`, Keycloak will expect that documents originating from a client will be signed using the certificate and/or key configured via `signingCertificate` and `signingPrivateKey`. ClientSignatureRequired pulumi.BoolPtrInput // The description of this client in the GUI. Description pulumi.StringPtrInput // When false, this client will not be able to initiate a login or obtain access tokens. Defaults to `true`. Enabled pulumi.BoolPtrInput // When `true`, the SAML assertions will be encrypted by Keycloak using the client's public key. EncryptAssertions pulumi.BoolPtrInput // If assertions for the client are encrypted, this certificate will be used for encryption. EncryptionCertificate pulumi.StringPtrInput // Ignore requested NameID subject format and use the one defined in `nameIdFormat` instead. ForceNameIdFormat pulumi.BoolPtrInput // When `true`, Keycloak will always respond to an authentication request via the SAML POST Binding. ForcePostBinding pulumi.BoolPtrInput // When `true`, this client will require a browser redirect in order to perform a logout. FrontChannelLogout pulumi.BoolPtrInput // - Allow to include all roles mappings in the access token FullScopeAllowed pulumi.BoolPtrInput // Relay state you want to send with SAML request when you want to do IDP Initiated SSO. IdpInitiatedSsoRelayState pulumi.StringPtrInput // URL fragment name to reference client when you want to do IDP Initiated SSO. IdpInitiatedSsoUrlName pulumi.StringPtrInput // When `true`, an `AuthnStatement` will be included in the SAML response. IncludeAuthnStatement pulumi.BoolPtrInput // SAML POST Binding URL for the client's single logout service. LogoutServicePostBindingUrl pulumi.StringPtrInput // SAML Redirect Binding URL for the client's single logout service. LogoutServiceRedirectBindingUrl pulumi.StringPtrInput // When specified, this URL will be used for all SAML requests. MasterSamlProcessingUrl pulumi.StringPtrInput // The display name of this client in the GUI. Name pulumi.StringPtrInput // Sets the Name ID format for the subject. NameIdFormat pulumi.StringPtrInput // The realm this client is attached to. RealmId pulumi.StringPtrInput // When specified, this value is prepended to all relative URLs. RootUrl pulumi.StringPtrInput // When `true`, the SAML assertions will be signed by Keycloak using the realm's private key, and embedded within the SAML XML Auth response. SignAssertions pulumi.BoolPtrInput // When `true`, the SAML document will be signed by Keycloak using the realm's private key. SignDocuments pulumi.BoolPtrInput // The signature algorithm used to sign documents. Should be one of "RSA_SHA1", "RSA_SHA256", "RSA_SHA512", or "DSA_SHA1". SignatureAlgorithm pulumi.StringPtrInput // If documents or assertions from the client are signed, this certificate will be used to verify the signature. SigningCertificate pulumi.StringPtrInput // If documents or assertions from the client are signed, this private key will be used to verify the signature. SigningPrivateKey pulumi.StringPtrInput // When specified, Keycloak will use this list to validate given Assertion Consumer URLs specified in the authentication request. ValidRedirectUris pulumi.StringArrayInput }
func (ClientState) ElementType ¶
func (ClientState) ElementType() reflect.Type
type GetClientAuthenticationFlowBindingOverride ¶ added in v3.3.0
type GetClientAuthenticationFlowBindingOverrideArgs ¶ added in v3.3.0
type GetClientAuthenticationFlowBindingOverrideArgs struct { BrowserId pulumi.StringInput `pulumi:"browserId"` DirectGrantId pulumi.StringInput `pulumi:"directGrantId"` }
func (GetClientAuthenticationFlowBindingOverrideArgs) ElementType ¶ added in v3.3.0
func (GetClientAuthenticationFlowBindingOverrideArgs) ElementType() reflect.Type
func (GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutput ¶ added in v3.3.0
func (i GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutput() GetClientAuthenticationFlowBindingOverrideOutput
func (GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext ¶ added in v3.3.0
func (i GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideOutput
type GetClientAuthenticationFlowBindingOverrideArray ¶ added in v3.3.0
type GetClientAuthenticationFlowBindingOverrideArray []GetClientAuthenticationFlowBindingOverrideInput
func (GetClientAuthenticationFlowBindingOverrideArray) ElementType ¶ added in v3.3.0
func (GetClientAuthenticationFlowBindingOverrideArray) ElementType() reflect.Type
func (GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutput ¶ added in v3.3.0
func (i GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutput() GetClientAuthenticationFlowBindingOverrideArrayOutput
func (GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext ¶ added in v3.3.0
func (i GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideArrayOutput
type GetClientAuthenticationFlowBindingOverrideArrayInput ¶ added in v3.3.0
type GetClientAuthenticationFlowBindingOverrideArrayInput interface { pulumi.Input ToGetClientAuthenticationFlowBindingOverrideArrayOutput() GetClientAuthenticationFlowBindingOverrideArrayOutput ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext(context.Context) GetClientAuthenticationFlowBindingOverrideArrayOutput }
GetClientAuthenticationFlowBindingOverrideArrayInput is an input type that accepts GetClientAuthenticationFlowBindingOverrideArray and GetClientAuthenticationFlowBindingOverrideArrayOutput values. You can construct a concrete instance of `GetClientAuthenticationFlowBindingOverrideArrayInput` via:
GetClientAuthenticationFlowBindingOverrideArray{ GetClientAuthenticationFlowBindingOverrideArgs{...} }
type GetClientAuthenticationFlowBindingOverrideArrayOutput ¶ added in v3.3.0
type GetClientAuthenticationFlowBindingOverrideArrayOutput struct{ *pulumi.OutputState }
func (GetClientAuthenticationFlowBindingOverrideArrayOutput) ElementType ¶ added in v3.3.0
func (GetClientAuthenticationFlowBindingOverrideArrayOutput) ElementType() reflect.Type
func (GetClientAuthenticationFlowBindingOverrideArrayOutput) ToGetClientAuthenticationFlowBindingOverrideArrayOutput ¶ added in v3.3.0
func (o GetClientAuthenticationFlowBindingOverrideArrayOutput) ToGetClientAuthenticationFlowBindingOverrideArrayOutput() GetClientAuthenticationFlowBindingOverrideArrayOutput
func (GetClientAuthenticationFlowBindingOverrideArrayOutput) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext ¶ added in v3.3.0
func (o GetClientAuthenticationFlowBindingOverrideArrayOutput) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideArrayOutput
type GetClientAuthenticationFlowBindingOverrideInput ¶ added in v3.3.0
type GetClientAuthenticationFlowBindingOverrideInput interface { pulumi.Input ToGetClientAuthenticationFlowBindingOverrideOutput() GetClientAuthenticationFlowBindingOverrideOutput ToGetClientAuthenticationFlowBindingOverrideOutputWithContext(context.Context) GetClientAuthenticationFlowBindingOverrideOutput }
GetClientAuthenticationFlowBindingOverrideInput is an input type that accepts GetClientAuthenticationFlowBindingOverrideArgs and GetClientAuthenticationFlowBindingOverrideOutput values. You can construct a concrete instance of `GetClientAuthenticationFlowBindingOverrideInput` via:
GetClientAuthenticationFlowBindingOverrideArgs{...}
type GetClientAuthenticationFlowBindingOverrideOutput ¶ added in v3.3.0
type GetClientAuthenticationFlowBindingOverrideOutput struct{ *pulumi.OutputState }
func (GetClientAuthenticationFlowBindingOverrideOutput) BrowserId ¶ added in v3.3.0
func (o GetClientAuthenticationFlowBindingOverrideOutput) BrowserId() pulumi.StringOutput
func (GetClientAuthenticationFlowBindingOverrideOutput) DirectGrantId ¶ added in v3.3.0
func (o GetClientAuthenticationFlowBindingOverrideOutput) DirectGrantId() pulumi.StringOutput
func (GetClientAuthenticationFlowBindingOverrideOutput) ElementType ¶ added in v3.3.0
func (GetClientAuthenticationFlowBindingOverrideOutput) ElementType() reflect.Type
func (GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutput ¶ added in v3.3.0
func (o GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutput() GetClientAuthenticationFlowBindingOverrideOutput
func (GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext ¶ added in v3.3.0
func (o GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideOutput
type GetClientInstallationProviderArgs ¶
type GetClientInstallationProviderArgs struct { // The ID of the SAML client. The `id` attribute of a `keycloakClient` resource should be used here. ClientId string `pulumi:"clientId"` // The ID of the SAML installation provider. Could be one of `saml-idp-descriptor`, `keycloak-saml`, `saml-sp-descriptor`, `keycloak-saml-subsystem`, `mod-auth-mellon`, etc. ProviderId string `pulumi:"providerId"` // The realm that the SAML client exists within. RealmId string `pulumi:"realmId"` }
A collection of arguments for invoking getClientInstallationProvider.
type GetClientInstallationProviderResult ¶
type GetClientInstallationProviderResult struct { ClientId string `pulumi:"clientId"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` ProviderId string `pulumi:"providerId"` RealmId string `pulumi:"realmId"` // (Computed) The returned document needed for SAML installation. Value string `pulumi:"value"` }
A collection of values returned by getClientInstallationProvider.
func GetClientInstallationProvider ¶
func GetClientInstallationProvider(ctx *pulumi.Context, args *GetClientInstallationProviderArgs, opts ...pulumi.InvokeOption) (*GetClientInstallationProviderResult, error)
This data source can be used to retrieve Installation Provider of a SAML Client.
type IdentityProvider ¶
type IdentityProvider struct { pulumi.CustomResourceState // When `true`, new users will be able to read stored tokens. This will automatically assign the `broker.read-token` role. Defaults to `false`. AddReadTokenRoleOnCreate pulumi.BoolPtrOutput `pulumi:"addReadTokenRoleOnCreate"` // The unique name of identity provider. Alias pulumi.StringOutput `pulumi:"alias"` // Authenticate users by default. Defaults to `false`. AuthenticateByDefault pulumi.BoolPtrOutput `pulumi:"authenticateByDefault"` // Does the external IDP support back-channel logout ?. BackchannelSupported pulumi.BoolPtrOutput `pulumi:"backchannelSupported"` // The display name for the realm that is shown when logging in to the admin console. DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` // When `false`, users and clients will not be able to access this realm. Defaults to `true`. Enabled pulumi.BoolPtrOutput `pulumi:"enabled"` // Alias of authentication flow, which is triggered after first login with this identity provider. Term 'First Login' means that there is not yet existing Keycloak account linked with the authenticated identity provider account. Defaults to `first broker login`. FirstBrokerLoginFlowAlias pulumi.StringPtrOutput `pulumi:"firstBrokerLoginFlowAlias"` // Indicates whether the identity provider must authenticate the presenter directly rather than rely on a previous security context. ForceAuthn pulumi.BoolPtrOutput `pulumi:"forceAuthn"` // If hidden, then login with this provider is possible only if requested explicitly, e.g. using the 'kc_idp_hint' parameter. HideOnLoginPage pulumi.BoolPtrOutput `pulumi:"hideOnLoginPage"` // Internal Identity Provider Id InternalId pulumi.StringOutput `pulumi:"internalId"` // When `true`, users cannot login using this provider, but their existing accounts will be linked when possible. Defaults to `false`. LinkOnly pulumi.BoolPtrOutput `pulumi:"linkOnly"` // Specifies the URI reference corresponding to a name identifier format. Defaults to empty. NameIdPolicyFormat pulumi.StringPtrOutput `pulumi:"nameIdPolicyFormat"` // Indicates whether the AuthnRequest must be sent using HTTP-POST binding. If false, HTTP-REDIRECT binding will be used. PostBindingAuthnRequest pulumi.BoolPtrOutput `pulumi:"postBindingAuthnRequest"` // Indicates whether to respond to requests using HTTP-POST binding. If false, HTTP-REDIRECT binding will be used. PostBindingLogout pulumi.BoolPtrOutput `pulumi:"postBindingLogout"` // Indicates whether to respond to requests using HTTP-POST binding. If false, HTTP-REDIRECT binding will be used.. PostBindingResponse pulumi.BoolPtrOutput `pulumi:"postBindingResponse"` // Alias of authentication flow, which is triggered after each login with this identity provider. Useful if you want additional verification of each user authenticated with this identity provider (for example OTP). Leave this empty if you don't want any additional authenticators to be triggered after login with this identity provider. Also note, that authenticator implementations must assume that user is already set in ClientSession as identity provider already set it. Defaults to empty. PostBrokerLoginFlowAlias pulumi.StringPtrOutput `pulumi:"postBrokerLoginFlowAlias"` // The name of the realm. This is unique across Keycloak. Realm pulumi.StringOutput `pulumi:"realm"` // Signing Algorithm. Defaults to empty. SignatureAlgorithm pulumi.StringPtrOutput `pulumi:"signatureAlgorithm"` // Signing Certificate. SigningCertificate pulumi.StringPtrOutput `pulumi:"signingCertificate"` // The Url that must be used to send logout requests. SingleLogoutServiceUrl pulumi.StringPtrOutput `pulumi:"singleLogoutServiceUrl"` // The Url that must be used to send authentication requests (SAML AuthnRequest). SingleSignOnServiceUrl pulumi.StringOutput `pulumi:"singleSignOnServiceUrl"` // When `true`, tokens will be stored after authenticating users. Defaults to `true`. StoreToken pulumi.BoolPtrOutput `pulumi:"storeToken"` // When `true`, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to `false`. TrustEmail pulumi.BoolPtrOutput `pulumi:"trustEmail"` // Enable/disable signature validation of SAML responses. ValidateSignature pulumi.BoolPtrOutput `pulumi:"validateSignature"` // Indicates whether this service provider expects an encrypted Assertion. WantAssertionsEncrypted pulumi.BoolPtrOutput `pulumi:"wantAssertionsEncrypted"` // Indicates whether this service provider expects a signed Assertion. WantAssertionsSigned pulumi.BoolPtrOutput `pulumi:"wantAssertionsSigned"` // Sign Key Transformer. Defaults to empty. XmlSignKeyInfoKeyNameTransformer pulumi.StringPtrOutput `pulumi:"xmlSignKeyInfoKeyNameTransformer"` }
Allows for creating and managing SAML Identity Providers within Keycloak.
SAML (Security Assertion Markup Language) identity providers allows users to authenticate through a third-party system using the SAML protocol.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak" "github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak/saml" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { realm, err := keycloak.NewRealm(ctx, "realm", &keycloak.RealmArgs{ Realm: pulumi.String("my-realm"), Enabled: pulumi.Bool(true), }) if err != nil { return err } _, err = saml.NewIdentityProvider(ctx, "realmSamlIdentityProvider", &saml.IdentityProviderArgs{ Realm: realm.ID(), Alias: pulumi.String("my-saml-idp"), SingleSignOnServiceUrl: pulumi.String("https://domain.com/adfs/ls/"), SingleLogoutServiceUrl: pulumi.String("https://domain.com/adfs/ls/?wa=wsignout1.0"), BackchannelSupported: pulumi.Bool(true), PostBindingResponse: pulumi.Bool(true), PostBindingLogout: pulumi.Bool(true), PostBindingAuthnRequest: pulumi.Bool(true), StoreToken: pulumi.Bool(false), TrustEmail: pulumi.Bool(true), ForceAuthn: pulumi.Bool(true), }) if err != nil { return err } return nil }) }
```
## Import
Identity providers can be imported using the format `{{realm_id}}/{{idp_alias}}`, where `idp_alias` is the identity provider alias. Examplebash
```sh
$ pulumi import keycloak:saml/identityProvider:IdentityProvider realm_saml_identity_provider my-realm/my-saml-idp
```
func GetIdentityProvider ¶
func GetIdentityProvider(ctx *pulumi.Context, name string, id pulumi.IDInput, state *IdentityProviderState, opts ...pulumi.ResourceOption) (*IdentityProvider, error)
GetIdentityProvider gets an existing IdentityProvider resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewIdentityProvider ¶
func NewIdentityProvider(ctx *pulumi.Context, name string, args *IdentityProviderArgs, opts ...pulumi.ResourceOption) (*IdentityProvider, error)
NewIdentityProvider registers a new resource with the given unique name, arguments, and options.
func (IdentityProvider) ElementType ¶ added in v3.1.1
func (IdentityProvider) ElementType() reflect.Type
func (IdentityProvider) ToIdentityProviderOutput ¶ added in v3.1.1
func (i IdentityProvider) ToIdentityProviderOutput() IdentityProviderOutput
func (IdentityProvider) ToIdentityProviderOutputWithContext ¶ added in v3.1.1
func (i IdentityProvider) ToIdentityProviderOutputWithContext(ctx context.Context) IdentityProviderOutput
type IdentityProviderArgs ¶
type IdentityProviderArgs struct { // When `true`, new users will be able to read stored tokens. This will automatically assign the `broker.read-token` role. Defaults to `false`. AddReadTokenRoleOnCreate pulumi.BoolPtrInput // The unique name of identity provider. Alias pulumi.StringInput // Authenticate users by default. Defaults to `false`. AuthenticateByDefault pulumi.BoolPtrInput // Does the external IDP support back-channel logout ?. BackchannelSupported pulumi.BoolPtrInput // The display name for the realm that is shown when logging in to the admin console. DisplayName pulumi.StringPtrInput // When `false`, users and clients will not be able to access this realm. Defaults to `true`. Enabled pulumi.BoolPtrInput // Alias of authentication flow, which is triggered after first login with this identity provider. Term 'First Login' means that there is not yet existing Keycloak account linked with the authenticated identity provider account. Defaults to `first broker login`. FirstBrokerLoginFlowAlias pulumi.StringPtrInput // Indicates whether the identity provider must authenticate the presenter directly rather than rely on a previous security context. ForceAuthn pulumi.BoolPtrInput // If hidden, then login with this provider is possible only if requested explicitly, e.g. using the 'kc_idp_hint' parameter. HideOnLoginPage pulumi.BoolPtrInput // When `true`, users cannot login using this provider, but their existing accounts will be linked when possible. Defaults to `false`. LinkOnly pulumi.BoolPtrInput // Specifies the URI reference corresponding to a name identifier format. Defaults to empty. NameIdPolicyFormat pulumi.StringPtrInput // Indicates whether the AuthnRequest must be sent using HTTP-POST binding. If false, HTTP-REDIRECT binding will be used. PostBindingAuthnRequest pulumi.BoolPtrInput // Indicates whether to respond to requests using HTTP-POST binding. If false, HTTP-REDIRECT binding will be used. PostBindingLogout pulumi.BoolPtrInput // Indicates whether to respond to requests using HTTP-POST binding. If false, HTTP-REDIRECT binding will be used.. PostBindingResponse pulumi.BoolPtrInput // Alias of authentication flow, which is triggered after each login with this identity provider. Useful if you want additional verification of each user authenticated with this identity provider (for example OTP). Leave this empty if you don't want any additional authenticators to be triggered after login with this identity provider. Also note, that authenticator implementations must assume that user is already set in ClientSession as identity provider already set it. Defaults to empty. PostBrokerLoginFlowAlias pulumi.StringPtrInput // The name of the realm. This is unique across Keycloak. Realm pulumi.StringInput // Signing Algorithm. Defaults to empty. SignatureAlgorithm pulumi.StringPtrInput // Signing Certificate. SigningCertificate pulumi.StringPtrInput // The Url that must be used to send logout requests. SingleLogoutServiceUrl pulumi.StringPtrInput // The Url that must be used to send authentication requests (SAML AuthnRequest). SingleSignOnServiceUrl pulumi.StringInput // When `true`, tokens will be stored after authenticating users. Defaults to `true`. StoreToken pulumi.BoolPtrInput // When `true`, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to `false`. TrustEmail pulumi.BoolPtrInput // Enable/disable signature validation of SAML responses. ValidateSignature pulumi.BoolPtrInput // Indicates whether this service provider expects an encrypted Assertion. WantAssertionsEncrypted pulumi.BoolPtrInput // Indicates whether this service provider expects a signed Assertion. WantAssertionsSigned pulumi.BoolPtrInput // Sign Key Transformer. Defaults to empty. XmlSignKeyInfoKeyNameTransformer pulumi.StringPtrInput }
The set of arguments for constructing a IdentityProvider resource.
func (IdentityProviderArgs) ElementType ¶
func (IdentityProviderArgs) ElementType() reflect.Type
type IdentityProviderInput ¶ added in v3.1.1
type IdentityProviderInput interface { pulumi.Input ToIdentityProviderOutput() IdentityProviderOutput ToIdentityProviderOutputWithContext(ctx context.Context) IdentityProviderOutput }
type IdentityProviderOutput ¶ added in v3.1.1
type IdentityProviderOutput struct {
*pulumi.OutputState
}
func (IdentityProviderOutput) ElementType ¶ added in v3.1.1
func (IdentityProviderOutput) ElementType() reflect.Type
func (IdentityProviderOutput) ToIdentityProviderOutput ¶ added in v3.1.1
func (o IdentityProviderOutput) ToIdentityProviderOutput() IdentityProviderOutput
func (IdentityProviderOutput) ToIdentityProviderOutputWithContext ¶ added in v3.1.1
func (o IdentityProviderOutput) ToIdentityProviderOutputWithContext(ctx context.Context) IdentityProviderOutput
type IdentityProviderState ¶
type IdentityProviderState struct { // When `true`, new users will be able to read stored tokens. This will automatically assign the `broker.read-token` role. Defaults to `false`. AddReadTokenRoleOnCreate pulumi.BoolPtrInput // The unique name of identity provider. Alias pulumi.StringPtrInput // Authenticate users by default. Defaults to `false`. AuthenticateByDefault pulumi.BoolPtrInput // Does the external IDP support back-channel logout ?. BackchannelSupported pulumi.BoolPtrInput // The display name for the realm that is shown when logging in to the admin console. DisplayName pulumi.StringPtrInput // When `false`, users and clients will not be able to access this realm. Defaults to `true`. Enabled pulumi.BoolPtrInput // Alias of authentication flow, which is triggered after first login with this identity provider. Term 'First Login' means that there is not yet existing Keycloak account linked with the authenticated identity provider account. Defaults to `first broker login`. FirstBrokerLoginFlowAlias pulumi.StringPtrInput // Indicates whether the identity provider must authenticate the presenter directly rather than rely on a previous security context. ForceAuthn pulumi.BoolPtrInput // If hidden, then login with this provider is possible only if requested explicitly, e.g. using the 'kc_idp_hint' parameter. HideOnLoginPage pulumi.BoolPtrInput // Internal Identity Provider Id InternalId pulumi.StringPtrInput // When `true`, users cannot login using this provider, but their existing accounts will be linked when possible. Defaults to `false`. LinkOnly pulumi.BoolPtrInput // Specifies the URI reference corresponding to a name identifier format. Defaults to empty. NameIdPolicyFormat pulumi.StringPtrInput // Indicates whether the AuthnRequest must be sent using HTTP-POST binding. If false, HTTP-REDIRECT binding will be used. PostBindingAuthnRequest pulumi.BoolPtrInput // Indicates whether to respond to requests using HTTP-POST binding. If false, HTTP-REDIRECT binding will be used. PostBindingLogout pulumi.BoolPtrInput // Indicates whether to respond to requests using HTTP-POST binding. If false, HTTP-REDIRECT binding will be used.. PostBindingResponse pulumi.BoolPtrInput // Alias of authentication flow, which is triggered after each login with this identity provider. Useful if you want additional verification of each user authenticated with this identity provider (for example OTP). Leave this empty if you don't want any additional authenticators to be triggered after login with this identity provider. Also note, that authenticator implementations must assume that user is already set in ClientSession as identity provider already set it. Defaults to empty. PostBrokerLoginFlowAlias pulumi.StringPtrInput // The name of the realm. This is unique across Keycloak. Realm pulumi.StringPtrInput // Signing Algorithm. Defaults to empty. SignatureAlgorithm pulumi.StringPtrInput // Signing Certificate. SigningCertificate pulumi.StringPtrInput // The Url that must be used to send logout requests. SingleLogoutServiceUrl pulumi.StringPtrInput // The Url that must be used to send authentication requests (SAML AuthnRequest). SingleSignOnServiceUrl pulumi.StringPtrInput // When `true`, tokens will be stored after authenticating users. Defaults to `true`. StoreToken pulumi.BoolPtrInput // When `true`, email addresses for users in this provider will automatically be verified regardless of the realm's email verification policy. Defaults to `false`. TrustEmail pulumi.BoolPtrInput // Enable/disable signature validation of SAML responses. ValidateSignature pulumi.BoolPtrInput // Indicates whether this service provider expects an encrypted Assertion. WantAssertionsEncrypted pulumi.BoolPtrInput // Indicates whether this service provider expects a signed Assertion. WantAssertionsSigned pulumi.BoolPtrInput // Sign Key Transformer. Defaults to empty. XmlSignKeyInfoKeyNameTransformer pulumi.StringPtrInput }
func (IdentityProviderState) ElementType ¶
func (IdentityProviderState) ElementType() reflect.Type
type LookupClientArgs ¶ added in v3.3.0
type LookupClientArgs struct { // The client id (not its unique ID). ClientId string `pulumi:"clientId"` // The realm id. RealmId string `pulumi:"realmId"` }
A collection of arguments for invoking getClient.
type LookupClientResult ¶ added in v3.3.0
type LookupClientResult struct { AssertionConsumerPostUrl string `pulumi:"assertionConsumerPostUrl"` AssertionConsumerRedirectUrl string `pulumi:"assertionConsumerRedirectUrl"` AuthenticationFlowBindingOverrides []GetClientAuthenticationFlowBindingOverride `pulumi:"authenticationFlowBindingOverrides"` BaseUrl string `pulumi:"baseUrl"` ClientId string `pulumi:"clientId"` ClientSignatureRequired bool `pulumi:"clientSignatureRequired"` Description string `pulumi:"description"` Enabled bool `pulumi:"enabled"` EncryptAssertions bool `pulumi:"encryptAssertions"` EncryptionCertificate string `pulumi:"encryptionCertificate"` ForceNameIdFormat bool `pulumi:"forceNameIdFormat"` ForcePostBinding bool `pulumi:"forcePostBinding"` FrontChannelLogout bool `pulumi:"frontChannelLogout"` FullScopeAllowed bool `pulumi:"fullScopeAllowed"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` IdpInitiatedSsoRelayState string `pulumi:"idpInitiatedSsoRelayState"` IdpInitiatedSsoUrlName string `pulumi:"idpInitiatedSsoUrlName"` IncludeAuthnStatement bool `pulumi:"includeAuthnStatement"` LogoutServicePostBindingUrl string `pulumi:"logoutServicePostBindingUrl"` LogoutServiceRedirectBindingUrl string `pulumi:"logoutServiceRedirectBindingUrl"` MasterSamlProcessingUrl string `pulumi:"masterSamlProcessingUrl"` Name string `pulumi:"name"` NameIdFormat string `pulumi:"nameIdFormat"` RealmId string `pulumi:"realmId"` RootUrl string `pulumi:"rootUrl"` SignAssertions bool `pulumi:"signAssertions"` SignDocuments bool `pulumi:"signDocuments"` SignatureAlgorithm string `pulumi:"signatureAlgorithm"` SigningCertificate string `pulumi:"signingCertificate"` SigningPrivateKey string `pulumi:"signingPrivateKey"` ValidRedirectUris []string `pulumi:"validRedirectUris"` }
A collection of values returned by getClient.
func LookupClient ¶ added in v3.3.0
func LookupClient(ctx *pulumi.Context, args *LookupClientArgs, opts ...pulumi.InvokeOption) (*LookupClientResult, error)
This data source can be used to fetch properties of a Keycloak client that uses the SAML protocol.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak" "github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak/saml" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { realmManagement, err := saml.LookupClient(ctx, &saml.LookupClientArgs{ RealmId: "my-realm", ClientId: "realm-management", }, nil) if err != nil { return err } opt0 := realmManagement.Id _, err = keycloak.LookupRole(ctx, &keycloak.LookupRoleArgs{ RealmId: "my-realm", ClientId: &opt0, Name: "realm-admin", }, nil) if err != nil { return err } return nil }) }
```
type UserAttributeProtocolMapper ¶
type UserAttributeProtocolMapper struct { pulumi.CustomResourceState // The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified. ClientId pulumi.StringPtrOutput `pulumi:"clientId"` // The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified. ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"` // An optional human-friendly name for this attribute. FriendlyName pulumi.StringPtrOutput `pulumi:"friendlyName"` // The display name of this protocol mapper in the GUI. Name pulumi.StringOutput `pulumi:"name"` // The realm this protocol mapper exists within. RealmId pulumi.StringOutput `pulumi:"realmId"` // The name of the SAML attribute. SamlAttributeName pulumi.StringOutput `pulumi:"samlAttributeName"` // The SAML attribute Name Format. Can be one of `Unspecified`, `Basic`, or `URI Reference`. SamlAttributeNameFormat pulumi.StringOutput `pulumi:"samlAttributeNameFormat"` // The custom user attribute to map. UserAttribute pulumi.StringOutput `pulumi:"userAttribute"` }
Allows for creating and managing user attribute protocol mappers for SAML clients within Keycloak.
SAML user attribute protocol mappers allow you to map custom attributes defined for a user within Keycloak to an attribute in a SAML assertion.
Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak" "github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak/saml" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := keycloak.NewRealm(ctx, "realm", &keycloak.RealmArgs{ Realm: pulumi.String("my-realm"), Enabled: pulumi.Bool(true), }) if err != nil { return err } samlClient, err := saml.NewClient(ctx, "samlClient", &saml.ClientArgs{ RealmId: pulumi.Any(keycloak_realm.Test.Id), ClientId: pulumi.String("saml-client"), }) if err != nil { return err } _, err = saml.NewUserAttributeProtocolMapper(ctx, "samlUserAttributeMapper", &saml.UserAttributeProtocolMapperArgs{ RealmId: pulumi.Any(keycloak_realm.Test.Id), ClientId: samlClient.ID(), UserAttribute: pulumi.String("displayName"), SamlAttributeName: pulumi.String("displayName"), SamlAttributeNameFormat: pulumi.String("Unspecified"), }) if err != nil { return err } return nil }) }
```
## Import
Protocol mappers can be imported using one of the following formats- Client`{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope`{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}` Examplebash
```sh
$ pulumi import keycloak:saml/userAttributeProtocolMapper:UserAttributeProtocolMapper saml_user_attribute_mapper my-realm/client/a7202154-8793-4656-b655-1dd18c181e14/71602afa-f7d1-4788-8c49-ef8fd00af0f4
```
```sh
$ pulumi import keycloak:saml/userAttributeProtocolMapper:UserAttributeProtocolMapper saml_user_attribute_mapper my-realm/client-scope/b799ea7e-73ee-4a73-990a-1eafebe8e20a/71602afa-f7d1-4788-8c49-ef8fd00af0f4
```
func GetUserAttributeProtocolMapper ¶
func GetUserAttributeProtocolMapper(ctx *pulumi.Context, name string, id pulumi.IDInput, state *UserAttributeProtocolMapperState, opts ...pulumi.ResourceOption) (*UserAttributeProtocolMapper, error)
GetUserAttributeProtocolMapper gets an existing UserAttributeProtocolMapper resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewUserAttributeProtocolMapper ¶
func NewUserAttributeProtocolMapper(ctx *pulumi.Context, name string, args *UserAttributeProtocolMapperArgs, opts ...pulumi.ResourceOption) (*UserAttributeProtocolMapper, error)
NewUserAttributeProtocolMapper registers a new resource with the given unique name, arguments, and options.
func (UserAttributeProtocolMapper) ElementType ¶ added in v3.1.1
func (UserAttributeProtocolMapper) ElementType() reflect.Type
func (UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutput ¶ added in v3.1.1
func (i UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutput() UserAttributeProtocolMapperOutput
func (UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutputWithContext ¶ added in v3.1.1
func (i UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutputWithContext(ctx context.Context) UserAttributeProtocolMapperOutput
type UserAttributeProtocolMapperArgs ¶
type UserAttributeProtocolMapperArgs struct { // The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified. ClientId pulumi.StringPtrInput // The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified. ClientScopeId pulumi.StringPtrInput // An optional human-friendly name for this attribute. FriendlyName pulumi.StringPtrInput // The display name of this protocol mapper in the GUI. Name pulumi.StringPtrInput // The realm this protocol mapper exists within. RealmId pulumi.StringInput // The name of the SAML attribute. SamlAttributeName pulumi.StringInput // The SAML attribute Name Format. Can be one of `Unspecified`, `Basic`, or `URI Reference`. SamlAttributeNameFormat pulumi.StringInput // The custom user attribute to map. UserAttribute pulumi.StringInput }
The set of arguments for constructing a UserAttributeProtocolMapper resource.
func (UserAttributeProtocolMapperArgs) ElementType ¶
func (UserAttributeProtocolMapperArgs) ElementType() reflect.Type
type UserAttributeProtocolMapperInput ¶ added in v3.1.1
type UserAttributeProtocolMapperInput interface { pulumi.Input ToUserAttributeProtocolMapperOutput() UserAttributeProtocolMapperOutput ToUserAttributeProtocolMapperOutputWithContext(ctx context.Context) UserAttributeProtocolMapperOutput }
type UserAttributeProtocolMapperOutput ¶ added in v3.1.1
type UserAttributeProtocolMapperOutput struct {
*pulumi.OutputState
}
func (UserAttributeProtocolMapperOutput) ElementType ¶ added in v3.1.1
func (UserAttributeProtocolMapperOutput) ElementType() reflect.Type
func (UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutput ¶ added in v3.1.1
func (o UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutput() UserAttributeProtocolMapperOutput
func (UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutputWithContext ¶ added in v3.1.1
func (o UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutputWithContext(ctx context.Context) UserAttributeProtocolMapperOutput
type UserAttributeProtocolMapperState ¶
type UserAttributeProtocolMapperState struct { // The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified. ClientId pulumi.StringPtrInput // The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified. ClientScopeId pulumi.StringPtrInput // An optional human-friendly name for this attribute. FriendlyName pulumi.StringPtrInput // The display name of this protocol mapper in the GUI. Name pulumi.StringPtrInput // The realm this protocol mapper exists within. RealmId pulumi.StringPtrInput // The name of the SAML attribute. SamlAttributeName pulumi.StringPtrInput // The SAML attribute Name Format. Can be one of `Unspecified`, `Basic`, or `URI Reference`. SamlAttributeNameFormat pulumi.StringPtrInput // The custom user attribute to map. UserAttribute pulumi.StringPtrInput }
func (UserAttributeProtocolMapperState) ElementType ¶
func (UserAttributeProtocolMapperState) ElementType() reflect.Type
type UserPropertyProtocolMapper ¶
type UserPropertyProtocolMapper struct { pulumi.CustomResourceState // The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified. ClientId pulumi.StringPtrOutput `pulumi:"clientId"` // The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified. ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"` // An optional human-friendly name for this attribute. FriendlyName pulumi.StringPtrOutput `pulumi:"friendlyName"` // The display name of this protocol mapper in the GUI. Name pulumi.StringOutput `pulumi:"name"` // The realm this protocol mapper exists within. RealmId pulumi.StringOutput `pulumi:"realmId"` // The name of the SAML attribute. SamlAttributeName pulumi.StringOutput `pulumi:"samlAttributeName"` // The SAML attribute Name Format. Can be one of `Unspecified`, `Basic`, or `URI Reference`. SamlAttributeNameFormat pulumi.StringOutput `pulumi:"samlAttributeNameFormat"` // The property of the Keycloak user model to map. UserProperty pulumi.StringOutput `pulumi:"userProperty"` }
Allows for creating and managing user property protocol mappers for SAML clients within Keycloak.
SAML user property protocol mappers allow you to map properties of the Keycloak user model to an attribute in a SAML assertion.
Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak" "github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak/saml" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := keycloak.NewRealm(ctx, "realm", &keycloak.RealmArgs{ Realm: pulumi.String("my-realm"), Enabled: pulumi.Bool(true), }) if err != nil { return err } samlClient, err := saml.NewClient(ctx, "samlClient", &saml.ClientArgs{ RealmId: pulumi.Any(keycloak_realm.Test.Id), ClientId: pulumi.String("saml-client"), }) if err != nil { return err } _, err = saml.NewUserPropertyProtocolMapper(ctx, "samlUserPropertyMapper", &saml.UserPropertyProtocolMapperArgs{ RealmId: pulumi.Any(keycloak_realm.Test.Id), ClientId: samlClient.ID(), UserProperty: pulumi.String("email"), SamlAttributeName: pulumi.String("email"), SamlAttributeNameFormat: pulumi.String("Unspecified"), }) if err != nil { return err } return nil }) }
```
## Import
Protocol mappers can be imported using one of the following formats- Client`{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope`{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}` Examplebash
```sh
$ pulumi import keycloak:saml/userPropertyProtocolMapper:UserPropertyProtocolMapper saml_user_property_mapper my-realm/client/a7202154-8793-4656-b655-1dd18c181e14/71602afa-f7d1-4788-8c49-ef8fd00af0f4
```
```sh
$ pulumi import keycloak:saml/userPropertyProtocolMapper:UserPropertyProtocolMapper saml_user_property_mapper my-realm/client-scope/b799ea7e-73ee-4a73-990a-1eafebe8e20a/71602afa-f7d1-4788-8c49-ef8fd00af0f4
```
func GetUserPropertyProtocolMapper ¶
func GetUserPropertyProtocolMapper(ctx *pulumi.Context, name string, id pulumi.IDInput, state *UserPropertyProtocolMapperState, opts ...pulumi.ResourceOption) (*UserPropertyProtocolMapper, error)
GetUserPropertyProtocolMapper gets an existing UserPropertyProtocolMapper resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewUserPropertyProtocolMapper ¶
func NewUserPropertyProtocolMapper(ctx *pulumi.Context, name string, args *UserPropertyProtocolMapperArgs, opts ...pulumi.ResourceOption) (*UserPropertyProtocolMapper, error)
NewUserPropertyProtocolMapper registers a new resource with the given unique name, arguments, and options.
func (UserPropertyProtocolMapper) ElementType ¶ added in v3.1.1
func (UserPropertyProtocolMapper) ElementType() reflect.Type
func (UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutput ¶ added in v3.1.1
func (i UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutput() UserPropertyProtocolMapperOutput
func (UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutputWithContext ¶ added in v3.1.1
func (i UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutputWithContext(ctx context.Context) UserPropertyProtocolMapperOutput
type UserPropertyProtocolMapperArgs ¶
type UserPropertyProtocolMapperArgs struct { // The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified. ClientId pulumi.StringPtrInput // The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified. ClientScopeId pulumi.StringPtrInput // An optional human-friendly name for this attribute. FriendlyName pulumi.StringPtrInput // The display name of this protocol mapper in the GUI. Name pulumi.StringPtrInput // The realm this protocol mapper exists within. RealmId pulumi.StringInput // The name of the SAML attribute. SamlAttributeName pulumi.StringInput // The SAML attribute Name Format. Can be one of `Unspecified`, `Basic`, or `URI Reference`. SamlAttributeNameFormat pulumi.StringInput // The property of the Keycloak user model to map. UserProperty pulumi.StringInput }
The set of arguments for constructing a UserPropertyProtocolMapper resource.
func (UserPropertyProtocolMapperArgs) ElementType ¶
func (UserPropertyProtocolMapperArgs) ElementType() reflect.Type
type UserPropertyProtocolMapperInput ¶ added in v3.1.1
type UserPropertyProtocolMapperInput interface { pulumi.Input ToUserPropertyProtocolMapperOutput() UserPropertyProtocolMapperOutput ToUserPropertyProtocolMapperOutputWithContext(ctx context.Context) UserPropertyProtocolMapperOutput }
type UserPropertyProtocolMapperOutput ¶ added in v3.1.1
type UserPropertyProtocolMapperOutput struct {
*pulumi.OutputState
}
func (UserPropertyProtocolMapperOutput) ElementType ¶ added in v3.1.1
func (UserPropertyProtocolMapperOutput) ElementType() reflect.Type
func (UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutput ¶ added in v3.1.1
func (o UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutput() UserPropertyProtocolMapperOutput
func (UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutputWithContext ¶ added in v3.1.1
func (o UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutputWithContext(ctx context.Context) UserPropertyProtocolMapperOutput
type UserPropertyProtocolMapperState ¶
type UserPropertyProtocolMapperState struct { // The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified. ClientId pulumi.StringPtrInput // The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified. ClientScopeId pulumi.StringPtrInput // An optional human-friendly name for this attribute. FriendlyName pulumi.StringPtrInput // The display name of this protocol mapper in the GUI. Name pulumi.StringPtrInput // The realm this protocol mapper exists within. RealmId pulumi.StringPtrInput // The name of the SAML attribute. SamlAttributeName pulumi.StringPtrInput // The SAML attribute Name Format. Can be one of `Unspecified`, `Basic`, or `URI Reference`. SamlAttributeNameFormat pulumi.StringPtrInput // The property of the Keycloak user model to map. UserProperty pulumi.StringPtrInput }
func (UserPropertyProtocolMapperState) ElementType ¶
func (UserPropertyProtocolMapperState) ElementType() reflect.Type