keycloak-admin 1.1.3 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/Dockerfile +24 -24
- data/.github/workflows/ci.yml +80 -83
- data/.gitignore +9 -9
- data/.rspec +2 -2
- data/CHANGELOG.md +194 -188
- data/Dockerfile +12 -12
- data/Gemfile +3 -3
- data/Gemfile.lock +51 -49
- data/MIT-LICENSE +20 -20
- data/README.md +748 -748
- data/bin/console +9 -9
- data/keycloak-admin.gemspec +24 -24
- data/lib/keycloak-admin/client/attack_detection_client.rb +41 -41
- data/lib/keycloak-admin/client/client.rb +56 -56
- data/lib/keycloak-admin/client/client_authz_permission_client.rb +80 -80
- data/lib/keycloak-admin/client/client_authz_policy_client.rb +75 -75
- data/lib/keycloak-admin/client/client_authz_resource_client.rb +92 -92
- data/lib/keycloak-admin/client/client_authz_scope_client.rb +70 -70
- data/lib/keycloak-admin/client/client_client.rb +71 -71
- data/lib/keycloak-admin/client/client_role_client.rb +20 -20
- data/lib/keycloak-admin/client/client_role_mappings_client.rb +32 -32
- data/lib/keycloak-admin/client/configurable_token_client.rb +35 -35
- data/lib/keycloak-admin/client/group_client.rb +148 -131
- data/lib/keycloak-admin/client/identity_provider_client.rb +51 -51
- data/lib/keycloak-admin/client/realm_client.rb +122 -122
- data/lib/keycloak-admin/client/role_client.rb +59 -59
- data/lib/keycloak-admin/client/role_mapper_client.rb +47 -45
- data/lib/keycloak-admin/client/token_client.rb +29 -29
- data/lib/keycloak-admin/client/user_client.rb +266 -266
- data/lib/keycloak-admin/configuration.rb +52 -52
- data/lib/keycloak-admin/representation/attack_detection_representation.rb +17 -17
- data/lib/keycloak-admin/representation/camel_json.rb +12 -12
- data/lib/keycloak-admin/representation/client_authz_permission_representation.rb +33 -33
- data/lib/keycloak-admin/representation/client_authz_policy_config_representation.rb +14 -14
- data/lib/keycloak-admin/representation/client_authz_policy_representation.rb +26 -26
- data/lib/keycloak-admin/representation/client_authz_resource_representation.rb +25 -25
- data/lib/keycloak-admin/representation/client_authz_scope_representation.rb +16 -16
- data/lib/keycloak-admin/representation/client_representation.rb +71 -71
- data/lib/keycloak-admin/representation/credential_representation.rb +38 -38
- data/lib/keycloak-admin/representation/federated_identity_representation.rb +15 -15
- data/lib/keycloak-admin/representation/group_representation.rb +21 -21
- data/lib/keycloak-admin/representation/identity_provider_mapper_representation.rb +19 -19
- data/lib/keycloak-admin/representation/identity_provider_representation.rb +67 -67
- data/lib/keycloak-admin/representation/impersonation_redirection_representation.rb +16 -16
- data/lib/keycloak-admin/representation/impersonation_representation.rb +43 -43
- data/lib/keycloak-admin/representation/protocol_mapper_representation.rb +19 -19
- data/lib/keycloak-admin/representation/realm_representation.rb +14 -14
- data/lib/keycloak-admin/representation/representation.rb +23 -23
- data/lib/keycloak-admin/representation/role_representation.rb +19 -19
- data/lib/keycloak-admin/representation/session_representation.rb +22 -22
- data/lib/keycloak-admin/representation/token_representation.rb +39 -39
- data/lib/keycloak-admin/representation/user_representation.rb +47 -47
- data/lib/keycloak-admin/resource/base_role_containing_resource.rb +28 -28
- data/lib/keycloak-admin/resource/group_resource.rb +11 -11
- data/lib/keycloak-admin/resource/user_resource.rb +7 -7
- data/lib/keycloak-admin/version.rb +3 -3
- data/lib/keycloak-admin.rb +84 -84
- data/spec/client/attack_detection_client_spec.rb +102 -102
- data/spec/client/client_authz_permission_client_spec.rb +170 -170
- data/spec/client/client_authz_policy_client_spec.rb +169 -169
- data/spec/client/client_authz_resource_client_spec.rb +150 -150
- data/spec/client/client_authz_scope_client_spec.rb +133 -133
- data/spec/client/client_client_spec.rb +133 -133
- data/spec/client/client_role_mappings_client_spec.rb +82 -82
- data/spec/client/client_spec.rb +28 -28
- data/spec/client/configurable_token_client_spec.rb +34 -34
- data/spec/client/group_client_spec.rb +328 -258
- data/spec/client/identity_provider_client_spec.rb +92 -92
- data/spec/client/realm_client_spec.rb +155 -155
- data/spec/client/role_client_spec.rb +79 -79
- data/spec/client/role_mapper_client_spec.rb +113 -68
- data/spec/client/token_client_spec.rb +68 -68
- data/spec/client/user_client_spec.rb +373 -373
- data/spec/configuration_spec.rb +113 -113
- data/spec/integration/client_authorization_spec.rb +93 -95
- data/spec/representation/attack_detection_representation_spec.rb +15 -15
- data/spec/representation/client_authz_permission_representation_spec.rb +52 -52
- data/spec/representation/client_authz_policy_representation_spec.rb +46 -46
- data/spec/representation/client_authz_resource_representation_spec.rb +33 -33
- data/spec/representation/client_authz_scope_representation_spec.rb +18 -18
- data/spec/representation/client_representation_spec.rb +119 -119
- data/spec/representation/group_representation_spec.rb +22 -22
- data/spec/representation/identity_provider_mapper_representation_spec.rb +24 -24
- data/spec/representation/identity_provider_representation_spec.rb +113 -113
- data/spec/representation/impersonation_representation_spec.rb +163 -163
- data/spec/representation/protocol_mapper_representation_spec.rb +57 -57
- data/spec/representation/role_representation_spec.rb +37 -37
- data/spec/representation/session_representation_spec.rb +15 -15
- data/spec/representation/user_representation_spec.rb +15 -15
- data/spec/resource/group_resource_spec.rb +14 -14
- data/spec/resource/user_resource_spec.rb +14 -14
- data/spec/spec_helper.rb +37 -37
- metadata +10 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a699842f0de47c278828c7874187d0249313d7ff871642a6f26bef4aa202999e
|
|
4
|
+
data.tar.gz: 6cd358f9db2f837705326e35b6bc00064575ca41e41e08a0fbf04d71d7a76dd1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 849ddd89962850c4e7b541591072e50f34d639b1c2d6dc0fe5e189d4f64ed9e2aa3354d20ffec8097fe5737d6aa0b7117aeb7dd9c0fd93f23ca2a6e6cf0ac2b3
|
|
7
|
+
data.tar.gz: 2d6057ebd0fea9d52c096be0c8bd4ecfc209cabad8b5e9d7edb95d5fddcd391c7bba3ddde127a51ff313ba42a7ccd213ff9abdf1fafdf57640f5fdc013aa66a7
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
### Dockerfile for: tillawy/keycloak-github-actions
|
|
2
|
-
##
|
|
3
|
-
## To build & push
|
|
4
|
-
# docker buildx build . --platform linux/amd64 -t tillawy/keycloak-github-actions:25.0.1
|
|
5
|
-
# docker push tillawy/keycloak-github-actions:25.0.1
|
|
6
|
-
#
|
|
7
|
-
## To Run Locally
|
|
8
|
-
# docker run \
|
|
9
|
-
# --rm \
|
|
10
|
-
# -p 8080:8080 \
|
|
11
|
-
# -e KEYCLOAK_ADMIN="admin" \
|
|
12
|
-
# -e KEYCLOAK_ADMIN_PASSWORD="admin" \
|
|
13
|
-
# -e KC_HOSTNAME="http://localhost:8080" \
|
|
14
|
-
# -e KC_HOSTNAME_ADMIN="http://localhost:8080" \
|
|
15
|
-
# -e KC_HTTP_ENABLED="true" \
|
|
16
|
-
# -e KC_DB="dev-file" \
|
|
17
|
-
# tillawy/keycloak-github-actions:25.0.1
|
|
18
|
-
|
|
19
|
-
FROM quay.io/keycloak/keycloak:25.0.1
|
|
20
|
-
|
|
21
|
-
ENTRYPOINT ["/opt/keycloak/bin/kc.sh"]
|
|
22
|
-
|
|
23
|
-
CMD ["start-dev", "--hostname=http://localhost:8080" , "--hostname-admin=http://localhost:8080" , "--http-enabled=true", "--verbose"]
|
|
24
|
-
|
|
1
|
+
### Dockerfile for: tillawy/keycloak-github-actions
|
|
2
|
+
##
|
|
3
|
+
## To build & push
|
|
4
|
+
# docker buildx build . --platform linux/amd64 -t tillawy/keycloak-github-actions:25.0.1
|
|
5
|
+
# docker push tillawy/keycloak-github-actions:25.0.1
|
|
6
|
+
#
|
|
7
|
+
## To Run Locally
|
|
8
|
+
# docker run \
|
|
9
|
+
# --rm \
|
|
10
|
+
# -p 8080:8080 \
|
|
11
|
+
# -e KEYCLOAK_ADMIN="admin" \
|
|
12
|
+
# -e KEYCLOAK_ADMIN_PASSWORD="admin" \
|
|
13
|
+
# -e KC_HOSTNAME="http://localhost:8080" \
|
|
14
|
+
# -e KC_HOSTNAME_ADMIN="http://localhost:8080" \
|
|
15
|
+
# -e KC_HTTP_ENABLED="true" \
|
|
16
|
+
# -e KC_DB="dev-file" \
|
|
17
|
+
# tillawy/keycloak-github-actions:25.0.1
|
|
18
|
+
|
|
19
|
+
FROM quay.io/keycloak/keycloak:25.0.1
|
|
20
|
+
|
|
21
|
+
ENTRYPOINT ["/opt/keycloak/bin/kc.sh"]
|
|
22
|
+
|
|
23
|
+
CMD ["start-dev", "--hostname=http://localhost:8080" , "--hostname-admin=http://localhost:8080" , "--http-enabled=true", "--verbose"]
|
|
24
|
+
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -1,83 +1,80 @@
|
|
|
1
|
-
# This workflow uses actions that are not certified by GitHub.
|
|
2
|
-
# They are provided by a third-party and are governed by
|
|
3
|
-
# separate terms of service, privacy policy, and support
|
|
4
|
-
# documentation.
|
|
5
|
-
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
|
6
|
-
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
|
7
|
-
|
|
8
|
-
name: Ruby
|
|
9
|
-
|
|
10
|
-
on:
|
|
11
|
-
push:
|
|
12
|
-
branches: [ "main" ]
|
|
13
|
-
pull_request:
|
|
14
|
-
branches: [ "main" ]
|
|
15
|
-
|
|
16
|
-
permissions:
|
|
17
|
-
contents: read
|
|
18
|
-
|
|
19
|
-
jobs:
|
|
20
|
-
test:
|
|
21
|
-
runs-on: ubuntu-latest
|
|
22
|
-
services:
|
|
23
|
-
keycloak:
|
|
24
|
-
image: tillawy/keycloak-github-actions:25.0.1
|
|
25
|
-
ports:
|
|
26
|
-
- 8080:8080
|
|
27
|
-
options: '--health-cmd "exec 3<>/dev/tcp/localhost/8080" --health-interval 5s --health-timeout 5s --health-retries 10 --health-start-period 100s'
|
|
28
|
-
env:
|
|
29
|
-
KEYCLOAK_ADMIN: "admin"
|
|
30
|
-
KEYCLOAK_ADMIN_PASSWORD: "admin"
|
|
31
|
-
KC_HOSTNAME: "http://localhost:8080"
|
|
32
|
-
KC_HOSTNAME_ADMIN: "http://localhost:8080"
|
|
33
|
-
KC_HTTP_ENABLED: "true"
|
|
34
|
-
KC_DB: "dev-file"
|
|
35
|
-
|
|
36
|
-
strategy:
|
|
37
|
-
matrix:
|
|
38
|
-
ruby-version: ['3.2']
|
|
39
|
-
|
|
40
|
-
steps:
|
|
41
|
-
- name: create realm
|
|
42
|
-
run: |
|
|
43
|
-
TOKEN=$(curl --silent --location --request POST "http://localhost:8080/realms/master/protocol/openid-connect/token" \
|
|
44
|
-
--header 'Content-Type: application/x-www-form-urlencoded' \
|
|
45
|
-
--data-urlencode 'grant_type=password' \
|
|
46
|
-
--data-urlencode 'username=admin' \
|
|
47
|
-
--data-urlencode 'password=admin' \
|
|
48
|
-
--data-urlencode 'client_id=admin-cli' | jq -r '.access_token')
|
|
49
|
-
|
|
50
|
-
curl --silent --show-error -L -X POST "http://localhost:8080/admin/realms" \
|
|
51
|
-
--header "Content-Type: application/json" \
|
|
52
|
-
--header "Authorization: Bearer ${TOKEN}" \
|
|
53
|
-
--data '{"realm":"dummy","enabled":true}'
|
|
54
|
-
|
|
55
|
-
curl --silent --show-error --request POST 'http://localhost:8080/admin/realms/dummy/clients' \
|
|
56
|
-
--header 'Authorization: Bearer '$TOKEN \
|
|
57
|
-
--header 'Content-Type: application/json' \
|
|
58
|
-
--data-raw '{
|
|
59
|
-
"clientId":"dummy-client",
|
|
60
|
-
"enabled":true,
|
|
61
|
-
"consentRequired": false,
|
|
62
|
-
"attributes":{},
|
|
63
|
-
"serviceAccountsEnabled": true,
|
|
64
|
-
"protocol":"openid-connect",
|
|
65
|
-
"publicClient":false,
|
|
66
|
-
"authorizationServicesEnabled": true,
|
|
67
|
-
"clientAuthenticatorType":"client-secret",
|
|
68
|
-
"redirectUris":["http://localhost:8180/demo"]
|
|
69
|
-
}'
|
|
70
|
-
|
|
71
|
-
- uses: actions/checkout@v4
|
|
72
|
-
- name: Set up Ruby
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
run: bundle exec rspec
|
|
82
|
-
env:
|
|
83
|
-
GITHUB_ACTIONS: true
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
2
|
+
# They are provided by a third-party and are governed by
|
|
3
|
+
# separate terms of service, privacy policy, and support
|
|
4
|
+
# documentation.
|
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
|
7
|
+
|
|
8
|
+
name: Ruby
|
|
9
|
+
|
|
10
|
+
on:
|
|
11
|
+
push:
|
|
12
|
+
branches: [ "main" ]
|
|
13
|
+
pull_request:
|
|
14
|
+
branches: [ "main" ]
|
|
15
|
+
|
|
16
|
+
permissions:
|
|
17
|
+
contents: read
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
test:
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
services:
|
|
23
|
+
keycloak:
|
|
24
|
+
image: tillawy/keycloak-github-actions:25.0.1
|
|
25
|
+
ports:
|
|
26
|
+
- 8080:8080
|
|
27
|
+
options: '--health-cmd "exec 3<>/dev/tcp/localhost/8080" --health-interval 5s --health-timeout 5s --health-retries 10 --health-start-period 100s'
|
|
28
|
+
env:
|
|
29
|
+
KEYCLOAK_ADMIN: "admin"
|
|
30
|
+
KEYCLOAK_ADMIN_PASSWORD: "admin"
|
|
31
|
+
KC_HOSTNAME: "http://localhost:8080"
|
|
32
|
+
KC_HOSTNAME_ADMIN: "http://localhost:8080"
|
|
33
|
+
KC_HTTP_ENABLED: "true"
|
|
34
|
+
KC_DB: "dev-file"
|
|
35
|
+
|
|
36
|
+
strategy:
|
|
37
|
+
matrix:
|
|
38
|
+
ruby-version: ['3.2']
|
|
39
|
+
|
|
40
|
+
steps:
|
|
41
|
+
- name: create realm
|
|
42
|
+
run: |
|
|
43
|
+
TOKEN=$(curl --silent --location --request POST "http://localhost:8080/realms/master/protocol/openid-connect/token" \
|
|
44
|
+
--header 'Content-Type: application/x-www-form-urlencoded' \
|
|
45
|
+
--data-urlencode 'grant_type=password' \
|
|
46
|
+
--data-urlencode 'username=admin' \
|
|
47
|
+
--data-urlencode 'password=admin' \
|
|
48
|
+
--data-urlencode 'client_id=admin-cli' | jq -r '.access_token')
|
|
49
|
+
|
|
50
|
+
curl --silent --show-error -L -X POST "http://localhost:8080/admin/realms" \
|
|
51
|
+
--header "Content-Type: application/json" \
|
|
52
|
+
--header "Authorization: Bearer ${TOKEN}" \
|
|
53
|
+
--data '{"realm":"dummy","enabled":true}'
|
|
54
|
+
|
|
55
|
+
curl --silent --show-error --request POST 'http://localhost:8080/admin/realms/dummy/clients' \
|
|
56
|
+
--header 'Authorization: Bearer '$TOKEN \
|
|
57
|
+
--header 'Content-Type: application/json' \
|
|
58
|
+
--data-raw '{
|
|
59
|
+
"clientId":"dummy-client",
|
|
60
|
+
"enabled":true,
|
|
61
|
+
"consentRequired": false,
|
|
62
|
+
"attributes":{},
|
|
63
|
+
"serviceAccountsEnabled": true,
|
|
64
|
+
"protocol":"openid-connect",
|
|
65
|
+
"publicClient":false,
|
|
66
|
+
"authorizationServicesEnabled": true,
|
|
67
|
+
"clientAuthenticatorType":"client-secret",
|
|
68
|
+
"redirectUris":["http://localhost:8180/demo"]
|
|
69
|
+
}'
|
|
70
|
+
|
|
71
|
+
- uses: actions/checkout@v4
|
|
72
|
+
- name: Set up Ruby
|
|
73
|
+
uses: ruby/setup-ruby@v1
|
|
74
|
+
with:
|
|
75
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
76
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
77
|
+
- name: Run tests
|
|
78
|
+
run: bundle exec rspec
|
|
79
|
+
env:
|
|
80
|
+
GITHUB_ACTIONS: true
|
data/.gitignore
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
.bundle/
|
|
2
|
-
log/*.log
|
|
3
|
-
pkg/
|
|
4
|
-
test/dummy/db/*.sqlite3
|
|
5
|
-
test/dummy/db/*.sqlite3-journal
|
|
6
|
-
test/dummy/log/*.log
|
|
7
|
-
test/dummy/tmp/
|
|
8
|
-
*.gem
|
|
9
|
-
.idea/
|
|
1
|
+
.bundle/
|
|
2
|
+
log/*.log
|
|
3
|
+
pkg/
|
|
4
|
+
test/dummy/db/*.sqlite3
|
|
5
|
+
test/dummy/db/*.sqlite3-journal
|
|
6
|
+
test/dummy/log/*.log
|
|
7
|
+
test/dummy/tmp/
|
|
8
|
+
*.gem
|
|
9
|
+
.idea/
|
|
10
10
|
.byebug_history
|
data/.rspec
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
--color
|
|
2
|
-
--require spec_helper
|
|
1
|
+
--color
|
|
2
|
+
--require spec_helper
|
data/CHANGELOG.md
CHANGED
|
@@ -1,189 +1,195 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [1.1.
|
|
9
|
-
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
|
|
19
|
-
## [1.1.
|
|
20
|
-
|
|
21
|
-
* Add
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*
|
|
41
|
-
|
|
42
|
-
## [1.0.
|
|
43
|
-
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
*
|
|
51
|
-
|
|
52
|
-
## [1.0.
|
|
53
|
-
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
*
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
*
|
|
100
|
-
* Add
|
|
101
|
-
*
|
|
102
|
-
|
|
103
|
-
## [1.0.
|
|
104
|
-
|
|
105
|
-
*
|
|
106
|
-
* Add
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
*
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
*
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
*
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
*
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
* Support
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
*
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.1.4] - 2025-11-08
|
|
9
|
+
|
|
10
|
+
* Add remove_realm_level_role_name! action on a GroupClient (thanks to @mkrawc)
|
|
11
|
+
* Dependencies: Update Gemfile.lock to bump byebug → 12.0.0, rspec → 3.13.2, and related dependencies
|
|
12
|
+
* Bug: The 'remove' operation of the 'RoleMapperClient' does not take the global rest options into account
|
|
13
|
+
|
|
14
|
+
## [1.1.3] - 2024-07-12
|
|
15
|
+
|
|
16
|
+
* Client Authorization management support (thanks to @tillawy)
|
|
17
|
+
* GitHub-actions setup to execute `rspec` (thanks to @tillawy)
|
|
18
|
+
|
|
19
|
+
## [1.1.2] - 2024-05-22
|
|
20
|
+
|
|
21
|
+
* Add group endpoints (get, children, delete), support for group attributes (thanks to @mkrawc)
|
|
22
|
+
* GroupClient#save method now can update an existing group (thanks to @mkrawc)
|
|
23
|
+
* RoleClient#save method now can update an existing role (thanks to @mkrawc)
|
|
24
|
+
|
|
25
|
+
## [1.1.1] - 2024-01-21
|
|
26
|
+
|
|
27
|
+
* Add/List realm-role/s to a group, Allow role-names with spaces, List groups assigned to role (thanks to @LiquidMagical)
|
|
28
|
+
|
|
29
|
+
## [1.1.0] - 2023-10-03
|
|
30
|
+
|
|
31
|
+
* Search for groups with parameters (thanks to @@tlloydthwaites)
|
|
32
|
+
* Get client by ID, Find client by Client ID, Update Client (thanks to @gee-forr)
|
|
33
|
+
|
|
34
|
+
## [1.0.24] - 2023-06-07
|
|
35
|
+
|
|
36
|
+
* Revert the modifications on the feature 'Update a User' introduced in `1.0.22`. This implementation had breaking changes such as not being able to update several attributes (`first_name`, `email`, etc).
|
|
37
|
+
|
|
38
|
+
## [1.0.23] - 2023-06-01
|
|
39
|
+
|
|
40
|
+
* Be more permissive about the version of `rest-client` (`~> 2.0`) (thanks to @type-face)
|
|
41
|
+
|
|
42
|
+
## [1.0.22] - 2023-05-29
|
|
43
|
+
|
|
44
|
+
* Fetch user's all active sessions (thanks to @prsanjay)
|
|
45
|
+
* Check whether a user is locked or not (thanks to @prsanjay)
|
|
46
|
+
* Logout users from all the active sessions (thanks to @prsanjay)
|
|
47
|
+
|
|
48
|
+
## [1.0.21] - 2023-02-03
|
|
49
|
+
|
|
50
|
+
* List users who are a member of a group (thanks to @tlloydthwaites)
|
|
51
|
+
|
|
52
|
+
## [1.0.20] - 2022-12-26
|
|
53
|
+
|
|
54
|
+
* Create subgroups (thanks to @neckhair)
|
|
55
|
+
* Add subgroups to `GroupRepresentation` (thanks to @neckhair)
|
|
56
|
+
* Expose `BaseRoleContainingResource.resource_id` (thanks to @neckhair)
|
|
57
|
+
|
|
58
|
+
## [1.0.19] - 2022-12-03
|
|
59
|
+
|
|
60
|
+
* Remove specific realm roles from user (thanks to @tlloydthwaites)
|
|
61
|
+
* Get role by name (thanks to @tlloydthwaites)
|
|
62
|
+
|
|
63
|
+
## [1.0.18] - 2022-11-24
|
|
64
|
+
|
|
65
|
+
* List user realm-level role mappings (thanks to @Kazhuu)
|
|
66
|
+
|
|
67
|
+
## [1.0.17] - 2022-11-02
|
|
68
|
+
|
|
69
|
+
* Delete `Client`
|
|
70
|
+
|
|
71
|
+
## [1.0.16] - 2022-10-15
|
|
72
|
+
|
|
73
|
+
* Remove `rest-client` warning when adding a group (thanks to @tlloydthwaites)
|
|
74
|
+
|
|
75
|
+
## [1.0.15] - 2022-05-23
|
|
76
|
+
|
|
77
|
+
* Delete all "realm" roles mapped to a user
|
|
78
|
+
|
|
79
|
+
## [1.0.14] - 2022-03-30
|
|
80
|
+
|
|
81
|
+
* Update `Gemfile.lock` to avoid wrong CVE detections. The version of Rails should always be specified by the parent project. This change has no functional impact.
|
|
82
|
+
|
|
83
|
+
## [1.0.13] - 2022-03-13
|
|
84
|
+
|
|
85
|
+
* Add client role on users
|
|
86
|
+
* List client roles
|
|
87
|
+
|
|
88
|
+
## [1.0.7] - 2022-03-13
|
|
89
|
+
|
|
90
|
+
* Allow to use multiple `KeycloakAdmin::Client` in the same environment
|
|
91
|
+
|
|
92
|
+
## [1.0.6] - 2022-03-13
|
|
93
|
+
|
|
94
|
+
* When serializing an array to JSON, force the serialization to use `to_json` for each element. In several contexts (e.g. Rails), `to_json` is not used.
|
|
95
|
+
|
|
96
|
+
## [1.0.5] - 2022-03-11
|
|
97
|
+
|
|
98
|
+
* Create `Client`
|
|
99
|
+
* Create `Identity Provider` (Breaking change: `IdentityProviderRepresentation.configuration` has been renamed to `IdentityProviderRepresentation.config`)
|
|
100
|
+
* Add `Identity Provider Mapping`
|
|
101
|
+
* Find service account for a `Client`
|
|
102
|
+
|
|
103
|
+
## [1.0.1] - 2021-10-14
|
|
104
|
+
|
|
105
|
+
* List all `Identity Providers`
|
|
106
|
+
* Add Group on Users (thanks to @tomuench)
|
|
107
|
+
* Remove Group from Users (thanks to @tomuench)
|
|
108
|
+
|
|
109
|
+
## [1.0.0] - 2021-08-03
|
|
110
|
+
|
|
111
|
+
* Add `totp` on Users
|
|
112
|
+
* Add `required_actions` on Users
|
|
113
|
+
|
|
114
|
+
## [0.7.9] - 2020-10-22
|
|
115
|
+
|
|
116
|
+
* Extend `search` function to use complex queries (thanks to @hobbypunk90)
|
|
117
|
+
|
|
118
|
+
## [0.7.8] - 2020-10-15
|
|
119
|
+
|
|
120
|
+
* Bug: `rest_client_options` default value does not match the documentation (was `nil` by default, should be `{}`)
|
|
121
|
+
* Update documentation about client setup (based on Keycloak 11)
|
|
122
|
+
|
|
123
|
+
## [0.7.7] - 2020-07-10
|
|
124
|
+
|
|
125
|
+
* Fix: `Replace request method shorthand with .execute for proper RestClient option support` (thanks to @RomanHargrave)
|
|
126
|
+
* When sending action emails, add lifespan as an optional parameter (thanks to @hobbypunk90)
|
|
127
|
+
|
|
128
|
+
## [0.7.6] - 2020-06-22
|
|
129
|
+
|
|
130
|
+
Thanks to @hobbypunk90
|
|
131
|
+
* Support for action emails and send forgot passsword mail
|
|
132
|
+
|
|
133
|
+
## [0.7.5] - 2020-03-28
|
|
134
|
+
|
|
135
|
+
Thanks to @RomanHargrave
|
|
136
|
+
* Support for working with federated identity provider (broker) links
|
|
137
|
+
|
|
138
|
+
## [0.7.4] - 2019-10-17
|
|
139
|
+
|
|
140
|
+
* Support for Rails 6
|
|
141
|
+
|
|
142
|
+
## [0.7.3] - 2019-07-11
|
|
143
|
+
|
|
144
|
+
Thanks to @cederigo:
|
|
145
|
+
* For a given user, get her list of groups
|
|
146
|
+
|
|
147
|
+
## [0.7.2] - 2019-06-17
|
|
148
|
+
|
|
149
|
+
Thanks to @vlad-ro:
|
|
150
|
+
|
|
151
|
+
* Get list of client role mappings for a group
|
|
152
|
+
* Save client role mappings for a user/group
|
|
153
|
+
* Save realm-level role mappings for a user/group
|
|
154
|
+
|
|
155
|
+
## [0.7.1] - 2019-06-11
|
|
156
|
+
|
|
157
|
+
Thanks to @vlad-ro:
|
|
158
|
+
|
|
159
|
+
* List users
|
|
160
|
+
* List clients
|
|
161
|
+
* List groups, create/save a group
|
|
162
|
+
* List roles, save a role
|
|
163
|
+
* List realms, save/update/delete a realm
|
|
164
|
+
* Get list of client role mappings for a user
|
|
165
|
+
* Support passing rest client options for user save and search
|
|
166
|
+
* Support using gem without ActiveSupport
|
|
167
|
+
|
|
168
|
+
## [0.7.0] - 2019-06-06
|
|
169
|
+
|
|
170
|
+
Thanks to @vlad-ro:
|
|
171
|
+
|
|
172
|
+
* Support passing rest client options
|
|
173
|
+
* More documentation
|
|
174
|
+
* More tests
|
|
175
|
+
* Better handling of timeouts
|
|
176
|
+
|
|
177
|
+
## [0.6.5] - 2019-05-14
|
|
178
|
+
|
|
179
|
+
* Get user
|
|
180
|
+
|
|
181
|
+
## [0.6.2] - 2019-05-14
|
|
182
|
+
|
|
183
|
+
* Update users
|
|
184
|
+
|
|
185
|
+
## [0.6] - 2019-03-06
|
|
186
|
+
|
|
187
|
+
* Save a locale when creating a new user
|
|
188
|
+
|
|
189
|
+
## [0.5] - 2018-01-26
|
|
190
|
+
|
|
191
|
+
* Client to access Custom REST API configurable-token
|
|
192
|
+
|
|
193
|
+
## [0.3] - 2018-01-19
|
|
194
|
+
|
|
189
195
|
* Support of impersonation
|