mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-06-11 03:05:54 +00:00
ipaidp: Fix validation and reset of parameters
The uri parameters auth_uri, dev_auth_uri, token_uri, userinfo_uri and keys_uri have not been validated before. Also the base_url was not normalized. The auth_uri, dev_auth_uri, token_uri and userinfo_uri need to be set for new entries, but might be empty or empty string for reset or updates. The ipaidpclientsecret needs to be decoded from binary string in find_idp result to not trigger no change ipd_mod calls. The code for validate_uri and base_url normalization has been copied from the ipaserver idp plugin. ansible_freeipa_module: urlparse from urllib.parse with a fallback to six.moves.urllib.parse is imported and also exported. urlparse is needed for validate_uri in ipaidp module. Resolves: RHEL-17954, RHEL-17955, RHEL-17957 and RHEL-17958
This commit is contained in:
@@ -62,6 +62,162 @@
|
||||
register: result
|
||||
failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp is present with all params
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
organization: main
|
||||
base_url: https://keycloak.idm.example.com:8443/auth
|
||||
keys_uri: https://keycloak.idm.example.com:8443/certs
|
||||
issuer_url: https://keycloak.idm.example.com:8443/issuer
|
||||
secret: secret
|
||||
scope: https://keycloak.idm.example.com:8443/scope
|
||||
idp_user_id: testuser
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: not result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp is present with all params, again
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
organization: main
|
||||
base_url: https://keycloak.idm.example.com:8443/auth
|
||||
keys_uri: https://keycloak.idm.example.com:8443/certs
|
||||
issuer_url: https://keycloak.idm.example.com:8443/issuer
|
||||
secret: secret
|
||||
scope: https://keycloak.idm.example.com:8443/scope
|
||||
idp_user_id: testuser
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
# failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp auth_uri is empty
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
auth_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: not result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp auth_uri is empty, again
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
auth_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp dev_auth_uri is empty
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
dev_auth_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: not result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp dev_auth_uri is empty, again
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
dev_auth_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp token_uri is empty
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
token_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: not result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp token_uri is empty, again
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
token_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp userinfo_uri is empty
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
userinfo_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: not result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp userinfo_uri is empty, again
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
userinfo_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp keys_uri is empty
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
keys_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: not result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp keys_uri is empty, again
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
keys_uri: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp issuer_url is empty
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
issuer_url: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: not result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp issuer_url is empty, again
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
issuer_url: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp scope is empty
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
scope: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: not result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp scope is empty, again
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
scope: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp idp_user_id is empty
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
idp_user_id: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: not result.changed or result.failed
|
||||
|
||||
- name: Ensure keycloak idp my-keycloak-idp idp_user_id is empty, again
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
idp_user_id: ""
|
||||
client_id: my-client-id
|
||||
register: result
|
||||
failed_when: result.changed or result.failed
|
||||
|
||||
- name: Ensure idp my-keycloak-idp is absent
|
||||
ipaidp:
|
||||
name: my-keycloak-idp
|
||||
|
||||
Reference in New Issue
Block a user