keycloak-admin 1.1.2 → 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.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/Dockerfile +24 -0
  3. data/.github/workflows/ci.yml +80 -0
  4. data/.gitignore +9 -9
  5. data/.rspec +2 -2
  6. data/CHANGELOG.md +194 -183
  7. data/Dockerfile +12 -12
  8. data/Gemfile +3 -3
  9. data/Gemfile.lock +51 -49
  10. data/MIT-LICENSE +20 -20
  11. data/README.md +748 -482
  12. data/bin/console +9 -9
  13. data/keycloak-admin.gemspec +24 -24
  14. data/lib/keycloak-admin/client/attack_detection_client.rb +41 -41
  15. data/lib/keycloak-admin/client/client.rb +56 -56
  16. data/lib/keycloak-admin/client/client_authz_permission_client.rb +81 -0
  17. data/lib/keycloak-admin/client/client_authz_policy_client.rb +76 -0
  18. data/lib/keycloak-admin/client/client_authz_resource_client.rb +93 -0
  19. data/lib/keycloak-admin/client/client_authz_scope_client.rb +71 -0
  20. data/lib/keycloak-admin/client/client_client.rb +71 -71
  21. data/lib/keycloak-admin/client/client_role_client.rb +20 -20
  22. data/lib/keycloak-admin/client/client_role_mappings_client.rb +32 -32
  23. data/lib/keycloak-admin/client/configurable_token_client.rb +35 -35
  24. data/lib/keycloak-admin/client/group_client.rb +148 -131
  25. data/lib/keycloak-admin/client/identity_provider_client.rb +51 -51
  26. data/lib/keycloak-admin/client/realm_client.rb +122 -106
  27. data/lib/keycloak-admin/client/role_client.rb +59 -59
  28. data/lib/keycloak-admin/client/role_mapper_client.rb +47 -45
  29. data/lib/keycloak-admin/client/token_client.rb +29 -29
  30. data/lib/keycloak-admin/client/user_client.rb +266 -266
  31. data/lib/keycloak-admin/configuration.rb +52 -52
  32. data/lib/keycloak-admin/representation/attack_detection_representation.rb +17 -17
  33. data/lib/keycloak-admin/representation/camel_json.rb +12 -12
  34. data/lib/keycloak-admin/representation/client_authz_permission_representation.rb +34 -0
  35. data/lib/keycloak-admin/representation/client_authz_policy_config_representation.rb +15 -0
  36. data/lib/keycloak-admin/representation/client_authz_policy_representation.rb +27 -0
  37. data/lib/keycloak-admin/representation/client_authz_resource_representation.rb +26 -0
  38. data/lib/keycloak-admin/representation/client_authz_scope_representation.rb +17 -0
  39. data/lib/keycloak-admin/representation/client_representation.rb +71 -71
  40. data/lib/keycloak-admin/representation/credential_representation.rb +38 -38
  41. data/lib/keycloak-admin/representation/federated_identity_representation.rb +15 -15
  42. data/lib/keycloak-admin/representation/group_representation.rb +21 -21
  43. data/lib/keycloak-admin/representation/identity_provider_mapper_representation.rb +19 -19
  44. data/lib/keycloak-admin/representation/identity_provider_representation.rb +67 -67
  45. data/lib/keycloak-admin/representation/impersonation_redirection_representation.rb +16 -16
  46. data/lib/keycloak-admin/representation/impersonation_representation.rb +43 -43
  47. data/lib/keycloak-admin/representation/protocol_mapper_representation.rb +19 -19
  48. data/lib/keycloak-admin/representation/realm_representation.rb +14 -14
  49. data/lib/keycloak-admin/representation/representation.rb +23 -23
  50. data/lib/keycloak-admin/representation/role_representation.rb +19 -19
  51. data/lib/keycloak-admin/representation/session_representation.rb +22 -22
  52. data/lib/keycloak-admin/representation/token_representation.rb +39 -39
  53. data/lib/keycloak-admin/representation/user_representation.rb +47 -47
  54. data/lib/keycloak-admin/resource/base_role_containing_resource.rb +28 -28
  55. data/lib/keycloak-admin/resource/group_resource.rb +11 -11
  56. data/lib/keycloak-admin/resource/user_resource.rb +7 -7
  57. data/lib/keycloak-admin/version.rb +3 -3
  58. data/lib/keycloak-admin.rb +84 -75
  59. data/spec/client/attack_detection_client_spec.rb +102 -102
  60. data/spec/client/client_authz_permission_client_spec.rb +170 -0
  61. data/spec/client/client_authz_policy_client_spec.rb +170 -0
  62. data/spec/client/client_authz_resource_client_spec.rb +150 -0
  63. data/spec/client/client_authz_scope_client_spec.rb +134 -0
  64. data/spec/client/client_client_spec.rb +133 -133
  65. data/spec/client/client_role_mappings_client_spec.rb +82 -82
  66. data/spec/client/client_spec.rb +28 -28
  67. data/spec/client/configurable_token_client_spec.rb +34 -34
  68. data/spec/client/group_client_spec.rb +328 -258
  69. data/spec/client/identity_provider_client_spec.rb +92 -92
  70. data/spec/client/realm_client_spec.rb +155 -155
  71. data/spec/client/role_client_spec.rb +79 -79
  72. data/spec/client/role_mapper_client_spec.rb +113 -68
  73. data/spec/client/token_client_spec.rb +68 -68
  74. data/spec/client/user_client_spec.rb +373 -373
  75. data/spec/configuration_spec.rb +113 -113
  76. data/spec/integration/client_authorization_spec.rb +93 -0
  77. data/spec/representation/attack_detection_representation_spec.rb +15 -15
  78. data/spec/representation/client_authz_permission_representation_spec.rb +52 -0
  79. data/spec/representation/client_authz_policy_representation_spec.rb +47 -0
  80. data/spec/representation/client_authz_resource_representation_spec.rb +33 -0
  81. data/spec/representation/client_authz_scope_representation_spec.rb +19 -0
  82. data/spec/representation/client_representation_spec.rb +119 -119
  83. data/spec/representation/group_representation_spec.rb +22 -22
  84. data/spec/representation/identity_provider_mapper_representation_spec.rb +24 -24
  85. data/spec/representation/identity_provider_representation_spec.rb +113 -113
  86. data/spec/representation/impersonation_representation_spec.rb +163 -163
  87. data/spec/representation/protocol_mapper_representation_spec.rb +57 -57
  88. data/spec/representation/role_representation_spec.rb +37 -37
  89. data/spec/representation/session_representation_spec.rb +15 -15
  90. data/spec/representation/user_representation_spec.rb +15 -15
  91. data/spec/resource/group_resource_spec.rb +14 -14
  92. data/spec/resource/user_resource_spec.rb +14 -14
  93. data/spec/spec_helper.rb +37 -37
  94. metadata +29 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 75a9e29c443612983e789a4d2d38d050908a0239fd4b74bca5f5d722234ef940
4
- data.tar.gz: e0bf740884bb1da5bf3c63032f6349e46f98ce56f1b06f0ae62dcb96eb324bb7
3
+ metadata.gz: a699842f0de47c278828c7874187d0249313d7ff871642a6f26bef4aa202999e
4
+ data.tar.gz: 6cd358f9db2f837705326e35b6bc00064575ca41e41e08a0fbf04d71d7a76dd1
5
5
  SHA512:
6
- metadata.gz: 1cc1adf071a240af23ace33f0f48d3b4c9cee0868dc4e50acab30d900bc0575fd4784bd725869dff58e79c053e4b6505376569855fbdb647bf929b8d82190277
7
- data.tar.gz: e34ae74e3096db9fa6ac6c92370eed71e23e25a4d896a98eed1afb68cfeb422d66ad99eb5d4a02460bd7fa3a6b57b2c6b351bfb42d4adb7fcdab70fc838f4825
6
+ metadata.gz: 849ddd89962850c4e7b541591072e50f34d639b1c2d6dc0fe5e189d4f64ed9e2aa3354d20ffec8097fe5737d6aa0b7117aeb7dd9c0fd93f23ca2a6e6cf0ac2b3
7
+ data.tar.gz: 2d6057ebd0fea9d52c096be0c8bd4ecfc209cabad8b5e9d7edb95d5fddcd391c7bba3ddde127a51ff313ba42a7ccd213ff9abdf1fafdf57640f5fdc013aa66a7
@@ -0,0 +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
+
@@ -0,0 +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
+ 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,184 +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.2] - 2024-05-22
9
-
10
- * Add group endpoints (get, children, delete), support for group attributes (thanks to @mkrawc)
11
- * GroupClient#save method now can update an existing group (thanks to @mkrawc)
12
- * RoleClient#save method now can update an existing role (thanks to @mkrawc)
13
-
14
- ## [1.1.1] - 2024-01-21
15
-
16
- * Add/List realm-role/s to a group, Allow role-names with spaces, List groups assigned to role (thanks to @LiquidMagical)
17
-
18
- ## [1.1.0] - 2023-10-03
19
-
20
- * Search for groups with parameters (thanks to @@tlloydthwaites)
21
- * Get client by ID, Find client by Client ID, Update Client (thanks to @gee-forr)
22
-
23
- ## [1.0.24] - 2023-06-07
24
-
25
- * 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).
26
-
27
- ## [1.0.23] - 2023-06-01
28
-
29
- * Be more permissive about the version of `rest-client` (`~> 2.0`) (thanks to @type-face)
30
-
31
- ## [1.0.22] - 2023-05-29
32
-
33
- * Fetch user's all active sessions (thanks to @prsanjay)
34
- * Check whether a user is locked or not (thanks to @prsanjay)
35
- * Logout users from all the active sessions (thanks to @prsanjay)
36
-
37
- ## [1.0.21] - 2023-02-03
38
-
39
- * List users who are a member of a group (thanks to @tlloydthwaites)
40
-
41
- ## [1.0.20] - 2022-12-26
42
-
43
- * Create subgroups (thanks to @neckhair)
44
- * Add subgroups to `GroupRepresentation` (thanks to @neckhair)
45
- * Expose `BaseRoleContainingResource.resource_id` (thanks to @neckhair)
46
-
47
- ## [1.0.19] - 2022-12-03
48
-
49
- * Remove specific realm roles from user (thanks to @tlloydthwaites)
50
- * Get role by name (thanks to @tlloydthwaites)
51
-
52
- ## [1.0.18] - 2022-11-24
53
-
54
- * List user realm-level role mappings (thanks to @Kazhuu)
55
-
56
- ## [1.0.17] - 2022-11-02
57
-
58
- * Delete `Client`
59
-
60
- ## [1.0.16] - 2022-10-15
61
-
62
- * Remove `rest-client` warning when adding a group (thanks to @tlloydthwaites)
63
-
64
- ## [1.0.15] - 2022-05-23
65
-
66
- * Delete all "realm" roles mapped to a user
67
-
68
- ## [1.0.14] - 2022-03-30
69
-
70
- * 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.
71
-
72
- ## [1.0.13] - 2022-03-13
73
-
74
- * Add client role on users
75
- * List client roles
76
-
77
- ## [1.0.7] - 2022-03-13
78
-
79
- * Allow to use multiple `KeycloakAdmin::Client` in the same environment
80
-
81
- ## [1.0.6] - 2022-03-13
82
-
83
- * 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.
84
-
85
- ## [1.0.5] - 2022-03-11
86
-
87
- * Create `Client`
88
- * Create `Identity Provider` (Breaking change: `IdentityProviderRepresentation.configuration` has been renamed to `IdentityProviderRepresentation.config`)
89
- * Add `Identity Provider Mapping`
90
- * Find service account for a `Client`
91
-
92
- ## [1.0.1] - 2021-10-14
93
-
94
- * List all `Identity Providers`
95
- * Add Group on Users (thanks to @tomuench)
96
- * Remove Group from Users (thanks to @tomuench)
97
-
98
- ## [1.0.0] - 2021-08-03
99
-
100
- * Add `totp` on Users
101
- * Add `required_actions` on Users
102
-
103
- ## [0.7.9] - 2020-10-22
104
-
105
- * Extend `search` function to use complex queries (thanks to @hobbypunk90)
106
-
107
- ## [0.7.8] - 2020-10-15
108
-
109
- * Bug: `rest_client_options` default value does not match the documentation (was `nil` by default, should be `{}`)
110
- * Update documentation about client setup (based on Keycloak 11)
111
-
112
- ## [0.7.7] - 2020-07-10
113
-
114
- * Fix: `Replace request method shorthand with .execute for proper RestClient option support` (thanks to @RomanHargrave)
115
- * When sending action emails, add lifespan as an optional parameter (thanks to @hobbypunk90)
116
-
117
- ## [0.7.6] - 2020-06-22
118
-
119
- Thanks to @hobbypunk90
120
- * Support for action emails and send forgot passsword mail
121
-
122
- ## [0.7.5] - 2020-03-28
123
-
124
- Thanks to @RomanHargrave
125
- * Support for working with federated identity provider (broker) links
126
-
127
- ## [0.7.4] - 2019-10-17
128
-
129
- * Support for Rails 6
130
-
131
- ## [0.7.3] - 2019-07-11
132
-
133
- Thanks to @cederigo:
134
- * For a given user, get her list of groups
135
-
136
- ## [0.7.2] - 2019-06-17
137
-
138
- Thanks to @vlad-ro:
139
-
140
- * Get list of client role mappings for a group
141
- * Save client role mappings for a user/group
142
- * Save realm-level role mappings for a user/group
143
-
144
- ## [0.7.1] - 2019-06-11
145
-
146
- Thanks to @vlad-ro:
147
-
148
- * List users
149
- * List clients
150
- * List groups, create/save a group
151
- * List roles, save a role
152
- * List realms, save/update/delete a realm
153
- * Get list of client role mappings for a user
154
- * Support passing rest client options for user save and search
155
- * Support using gem without ActiveSupport
156
-
157
- ## [0.7.0] - 2019-06-06
158
-
159
- Thanks to @vlad-ro:
160
-
161
- * Support passing rest client options
162
- * More documentation
163
- * More tests
164
- * Better handling of timeouts
165
-
166
- ## [0.6.5] - 2019-05-14
167
-
168
- * Get user
169
-
170
- ## [0.6.2] - 2019-05-14
171
-
172
- * Update users
173
-
174
- ## [0.6] - 2019-03-06
175
-
176
- * Save a locale when creating a new user
177
-
178
- ## [0.5] - 2018-01-26
179
-
180
- * Client to access Custom REST API configurable-token
181
-
182
- ## [0.3] - 2018-01-19
183
-
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
+
184
195
  * Support of impersonation
data/Dockerfile CHANGED
@@ -1,13 +1,13 @@
1
- FROM ruby:3.2.2-slim-bullseye
2
-
3
- RUN apt-get update -qq && apt-get install -y build-essential git ruby-dev && apt-get clean && \
4
- mkdir -p /usr/src/app/lib/keycloak-admin
5
- WORKDIR /usr/src/app
6
-
7
- COPY Gemfile /usr/src/app/
8
- COPY Gemfile.lock /usr/src/app/
9
- COPY keycloak-admin.gemspec /usr/src/app/
10
- COPY lib/keycloak-admin/version.rb /usr/src/app/lib/keycloak-admin/
11
- RUN bundle install
12
- COPY . /usr/src/app
1
+ FROM ruby:3.2.2-slim-bullseye
2
+
3
+ RUN apt-get update -qq && apt-get install -y build-essential git ruby-dev && apt-get clean && \
4
+ mkdir -p /usr/src/app/lib/keycloak-admin
5
+ WORKDIR /usr/src/app
6
+
7
+ COPY Gemfile /usr/src/app/
8
+ COPY Gemfile.lock /usr/src/app/
9
+ COPY keycloak-admin.gemspec /usr/src/app/
10
+ COPY lib/keycloak-admin/version.rb /usr/src/app/lib/keycloak-admin/
11
+ RUN bundle install
12
+ COPY . /usr/src/app
13
13
  RUN bundle install
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec