1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2026-03-21 20:59:10 +00:00
community.general/tests/integration/targets/keycloak_client/vars/main.yml
Ivan Kokalovic df6d6269a6
keycloak_client: add valid_post_logout_redirect_uris and backchannel_logout_url (#11473)
* feat(keycloak_client): add valid_post_logout_redirect_uris and backchannel_logout_url

Add two new convenience parameters that map to client attributes:

- valid_post_logout_redirect_uris: sets post.logout.redirect.uris
  attribute (list items joined with ##)
- backchannel_logout_url: sets backchannel.logout.url attribute

These fields are not top-level in the Keycloak REST API but are stored
as client attributes. The new parameters provide a user-friendly
interface without requiring users to know the internal attribute names
and ##-separator format.

Fixes #6812, fixes #4892

* consolidate changelog and add PR link per review feedback
2026-02-07 16:19:29 +01:00

102 lines
No EOL
3.1 KiB
YAML

---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
url: http://localhost:8080/auth
admin_realm: master
admin_user: admin
admin_password: password
realm: myrealm
client_id: myclient
client_id_2: mynewclient
role: myrole
description_1: desc 1
description_2: desc 2
auth_args:
auth_keycloak_url: "{{ url }}"
auth_realm: "{{ admin_realm }}"
auth_username: "{{ admin_user }}"
auth_password: "{{ admin_password }}"
post_logout_redirect_uris:
- "https://example.com/logout-callback"
- "https://example.com/signout"
backchannel_logout_url: "https://example.com/backchannel-logout"
redirect_uris1:
- "http://example.c.com/"
- "http://example.b.com/"
- "http://example.a.com/"
client_attributes1: {"backchannel.logout.session.required": true, "backchannel.logout.revoke.offline.tokens": false, "oauth2.device.authorization.grant.enabled": true, "client.secret.creation.time": 0}
client_attributes2: {"backchannel.logout.session.required": false, "oauth2.device.authorization.grant.enabled": false, "client.secret.creation.time": 0}
protocol_mappers1:
- name: 'email'
protocol: 'openid-connect'
protocolMapper: 'oidc-usermodel-property-mapper'
config:
"claim.name": "email"
"user.attribute": "email"
"jsonType.label": "String"
"id.token.claim": true
"access.token.claim": true
"userinfo.token.claim": true
- name: 'email_verified'
protocol: 'openid-connect'
protocolMapper: 'oidc-usermodel-property-mapper'
config:
"claim.name": "email_verified"
"user.attribute": "emailVerified"
"jsonType.label": "boolean"
"id.token.claim": true
"access.token.claim": true
"userinfo.token.claim": true
- name: 'family_name'
protocol: 'openid-connect'
protocolMapper: 'oidc-usermodel-property-mapper'
config:
"claim.name": "family_name"
"user.attribute": "lastName"
"jsonType.label": "String"
"id.token.claim": "true"
"access.token.claim": "true"
"userinfo.token.claim": "true"
protocol_mappers2_unordered:
- "{{ protocol_mappers1[2] }}"
- "{{ protocol_mappers1[1] }}"
- "{{ protocol_mappers1[0] }}"
protocol_mappers3_modifed:
- "{{ protocol_mappers1[2] }}"
- name: address
protocol: openid-connect
protocolMapper: oidc-address-mapper
consentRequired: false
config:
user.attribute.formatted: formatted
user.attribute.country: country
introspection.token.claim: 'true'
user.attribute.postal_code: postal_code
userinfo.token.claim: 'true'
user.attribute.street: street
id.token.claim: 'true'
user.attribute.region: region
access.token.claim: 'true'
user.attribute.locality: locality
- name: 'email'
protocol: 'openid-connect'
protocolMapper: 'oidc-usermodel-property-mapper'
config:
"claim.name": "email"
"user.attribute": "email"
"jsonType.label": "String"
"id.token.claim": true
"access.token.claim": false
"userinfo.token.claim": true