diff --git a/REFERENCE.md b/REFERENCE.md index 87b6f9f6..985d9033 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1723,6 +1723,14 @@ saml.encrypt saml.encryption.certificate +##### `backchannel_logout_session_required` + +backchannel.logout.session.required + +##### `backchannel_logout_revoke_offline_tokens` + +backchannel.logout.revoke.offline.tokens + ##### `saml_name_id_format` saml_name_id_format diff --git a/lib/puppet/provider/keycloak_client/kcadm.rb b/lib/puppet/provider/keycloak_client/kcadm.rb index 67b1bca0..63a72256 100644 --- a/lib/puppet/provider/keycloak_client/kcadm.rb +++ b/lib/puppet/provider/keycloak_client/kcadm.rb @@ -10,6 +10,8 @@ def attributes_properties :login_theme, :access_token_lifespan, :backchannel_logout_url, + :backchannel_logout_session_required, + :backchannel_logout_revoke_offline_tokens, :saml_name_id_format, :saml_artifact_binding_url, :saml_single_logout_service_url_redirect, @@ -26,6 +28,8 @@ def dot_attributes_properties [ :access_token_lifespan, :backchannel_logout_url, + :backchannel_logout_session_required, + :backchannel_logout_revoke_offline_tokens, :saml_encrypt, :saml_assertion_signature, :saml_signing_certificate, diff --git a/lib/puppet/type/keycloak_client.rb b/lib/puppet/type/keycloak_client.rb index 6df4bd6a..02bf3c54 100644 --- a/lib/puppet/type/keycloak_client.rb +++ b/lib/puppet/type/keycloak_client.rb @@ -166,6 +166,14 @@ def insync?(is) desc 'backchannel.logout.url' end + newproperty(:backchannel_logout_session_required) do + desc 'backchannel.logout.session.required' + end + + newproperty(:backchannel_logout_revoke_offline_tokens) do + desc 'backchannel.logout.revoke.offline.tokens' + end + newproperty(:saml_name_id_format) do desc 'saml_name_id_format' end diff --git a/spec/acceptance/5_client_spec.rb b/spec/acceptance/5_client_spec.rb index 60166aa0..fdd33288 100644 --- a/spec/acceptance/5_client_spec.rb +++ b/spec/acceptance/5_client_spec.rb @@ -11,29 +11,33 @@ class { 'keycloak': keycloak_realm { 'test': ensure => 'present' } keycloak_flow { 'foo on test': ensure => 'present' } keycloak_client { 'test.foo.bar': - realm => 'test', - root_url => 'https://test.foo.bar', - redirect_uris => ['https://test.foo.bar/test1'], - default_client_scopes => ['address'], - secret => 'foobar', - login_theme => 'keycloak', - backchannel_logout_url => 'https://test.foo.bar/logout', - authorization_services_enabled => false, - service_accounts_enabled => true, - browser_flow => 'foo', - roles => ['bar_role', 'other_bar_role'], + realm => 'test', + root_url => 'https://test.foo.bar', + redirect_uris => ['https://test.foo.bar/test1'], + default_client_scopes => ['address'], + secret => 'foobar', + login_theme => 'keycloak', + backchannel_logout_url => 'https://test.foo.bar/logout', + backchannel_logout_session_required => 'true', + backchannel_logout_revoke_offline_tokens => 'true', + authorization_services_enabled => false, + service_accounts_enabled => true, + browser_flow => 'foo', + roles => ['bar_role', 'other_bar_role'], } keycloak_client { 'test.foo.baz': - realm => 'test', - root_url => 'https://test.foo.bar', - redirect_uris => ['https://test.foo.bar/test1'], - default_client_scopes => ['address'], - secret => 'foobar', - login_theme => 'keycloak', - backchannel_logout_url => 'https://test.foo.baz/logout', - authorization_services_enabled => false, - service_accounts_enabled => true, - browser_flow => 'foo', + realm => 'test', + root_url => 'https://test.foo.bar', + redirect_uris => ['https://test.foo.bar/test1'], + default_client_scopes => ['address'], + secret => 'foobar', + login_theme => 'keycloak', + backchannel_logout_url => 'https://test.foo.baz/logout', + backchannel_logout_session_required => 'false', + backchannel_logout_revoke_offline_tokens => 'false', + authorization_services_enabled => false, + service_accounts_enabled => true, + browser_flow => 'foo', } keycloak_client { 'saml.foo.bar': realm => 'test', diff --git a/spec/unit/puppet/type/keycloak_client_spec.rb b/spec/unit/puppet/type/keycloak_client_spec.rb index 1da87fc6..ed41caf1 100644 --- a/spec/unit/puppet/type/keycloak_client_spec.rb +++ b/spec/unit/puppet/type/keycloak_client_spec.rb @@ -83,6 +83,8 @@ :secret, :login_theme, :backchannel_logout_url, + :backchannel_logout_session_required, + :backchannel_logout_revoke_offline_tokens, :root_url, :admin_url, :base_url,