keycloak-admin 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/Dockerfile +24 -0
  3. data/.github/workflows/ci.yml +83 -0
  4. data/CHANGELOG.md +5 -0
  5. data/Gemfile.lock +3 -3
  6. data/README.md +267 -1
  7. data/lib/keycloak-admin/client/client_authz_permission_client.rb +81 -0
  8. data/lib/keycloak-admin/client/client_authz_policy_client.rb +76 -0
  9. data/lib/keycloak-admin/client/client_authz_resource_client.rb +93 -0
  10. data/lib/keycloak-admin/client/client_authz_scope_client.rb +71 -0
  11. data/lib/keycloak-admin/client/realm_client.rb +16 -0
  12. data/lib/keycloak-admin/representation/client_authz_permission_representation.rb +34 -0
  13. data/lib/keycloak-admin/representation/client_authz_policy_config_representation.rb +15 -0
  14. data/lib/keycloak-admin/representation/client_authz_policy_representation.rb +27 -0
  15. data/lib/keycloak-admin/representation/client_authz_resource_representation.rb +26 -0
  16. data/lib/keycloak-admin/representation/client_authz_scope_representation.rb +17 -0
  17. data/lib/keycloak-admin/version.rb +1 -1
  18. data/lib/keycloak-admin.rb +9 -0
  19. data/spec/client/client_authz_permission_client_spec.rb +170 -0
  20. data/spec/client/client_authz_policy_client_spec.rb +170 -0
  21. data/spec/client/client_authz_resource_client_spec.rb +150 -0
  22. data/spec/client/client_authz_scope_client_spec.rb +134 -0
  23. data/spec/integration/client_authorization_spec.rb +95 -0
  24. data/spec/representation/client_authz_permission_representation_spec.rb +52 -0
  25. data/spec/representation/client_authz_policy_representation_spec.rb +47 -0
  26. data/spec/representation/client_authz_resource_representation_spec.rb +33 -0
  27. data/spec/representation/client_authz_scope_representation_spec.rb +19 -0
  28. metadata +23 -3
@@ -0,0 +1,33 @@
1
+ RSpec.describe KeycloakAdmin::ClientAuthzResourceRepresentation do
2
+ describe '.from_hash' do
3
+ it 'converts json response to class structure' do
4
+ rep = described_class.from_hash({
5
+ "name" => "Default Resource",
6
+ "type" => "urn:delme-client-id:resources:default",
7
+ "owner" => {
8
+ "id" => "d259b451-371b-432a-a526-3508f3a36f3b",
9
+ "name" => "delme-client-id"
10
+ },
11
+ "ownerManagedAccess" => true,
12
+ "displayName" => "Display Name",
13
+ "attributes" => { "a" => ["b"]},
14
+ "_id" => "385966a2-14b9-4cc4-9539-5f2fe1008222",
15
+ "uris" => ["/*"],
16
+ "scopes" => [{"id"=>"c0779ce3-0900-4ea3-b1d6-b23e1f19c662",
17
+ "name" => "GET",
18
+ "iconUri" => "http=>//asdfasdf"}],
19
+ "icon_uri" => "http://icon"
20
+ })
21
+ expect(rep.id).to eq "385966a2-14b9-4cc4-9539-5f2fe1008222"
22
+ expect(rep.name).to eq "Default Resource"
23
+ expect(rep.type).to eq "urn:delme-client-id:resources:default"
24
+ expect(rep.uris).to eq ["/*"]
25
+ expect(rep.owner_managed_access).to eq true
26
+ expect(rep.attributes).to eq({ :"a" => ["b"]})
27
+ expect(rep.display_name).to eq "Display Name"
28
+ expect(rep.scopes[0].id).to eq "c0779ce3-0900-4ea3-b1d6-b23e1f19c662"
29
+ expect(rep.scopes[0].name).to eq "GET"
30
+ expect(rep).to be_a described_class
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe KeycloakAdmin::ClientAuthzScopeRepresentation do
4
+ describe '.from_hash' do
5
+ it 'converts json response to class structure' do
6
+ rep = described_class.from_hash({
7
+ "id" =>"c0779ce3-0900-4ea3-b1d6-b23e1f19c662",
8
+ "name" => "GET",
9
+ "iconUri" => "http://asdfasdf/image.png",
10
+ "displayName" => "GET authz scope"
11
+ })
12
+ expect(rep.id).to eq "c0779ce3-0900-4ea3-b1d6-b23e1f19c662"
13
+ expect(rep.name).to eq "GET"
14
+ expect(rep.icon_uri).to eq "http://asdfasdf/image.png"
15
+ expect(rep.display_name).to eq "GET authz scope"
16
+ expect(rep).to be_a described_class
17
+ end
18
+ end
19
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keycloak-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lorent Lempereur
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-22 00:00:00.000000000 Z
11
+ date: 2024-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http-cookie
@@ -79,6 +79,8 @@ executables: []
79
79
  extensions: []
80
80
  extra_rdoc_files: []
81
81
  files:
82
+ - ".github/workflows/Dockerfile"
83
+ - ".github/workflows/ci.yml"
82
84
  - ".gitignore"
83
85
  - ".rspec"
84
86
  - CHANGELOG.md
@@ -92,6 +94,10 @@ files:
92
94
  - lib/keycloak-admin.rb
93
95
  - lib/keycloak-admin/client/attack_detection_client.rb
94
96
  - lib/keycloak-admin/client/client.rb
97
+ - lib/keycloak-admin/client/client_authz_permission_client.rb
98
+ - lib/keycloak-admin/client/client_authz_policy_client.rb
99
+ - lib/keycloak-admin/client/client_authz_resource_client.rb
100
+ - lib/keycloak-admin/client/client_authz_scope_client.rb
95
101
  - lib/keycloak-admin/client/client_client.rb
96
102
  - lib/keycloak-admin/client/client_role_client.rb
97
103
  - lib/keycloak-admin/client/client_role_mappings_client.rb
@@ -106,6 +112,11 @@ files:
106
112
  - lib/keycloak-admin/configuration.rb
107
113
  - lib/keycloak-admin/representation/attack_detection_representation.rb
108
114
  - lib/keycloak-admin/representation/camel_json.rb
115
+ - lib/keycloak-admin/representation/client_authz_permission_representation.rb
116
+ - lib/keycloak-admin/representation/client_authz_policy_config_representation.rb
117
+ - lib/keycloak-admin/representation/client_authz_policy_representation.rb
118
+ - lib/keycloak-admin/representation/client_authz_resource_representation.rb
119
+ - lib/keycloak-admin/representation/client_authz_scope_representation.rb
109
120
  - lib/keycloak-admin/representation/client_representation.rb
110
121
  - lib/keycloak-admin/representation/credential_representation.rb
111
122
  - lib/keycloak-admin/representation/federated_identity_representation.rb
@@ -126,6 +137,10 @@ files:
126
137
  - lib/keycloak-admin/resource/user_resource.rb
127
138
  - lib/keycloak-admin/version.rb
128
139
  - spec/client/attack_detection_client_spec.rb
140
+ - spec/client/client_authz_permission_client_spec.rb
141
+ - spec/client/client_authz_policy_client_spec.rb
142
+ - spec/client/client_authz_resource_client_spec.rb
143
+ - spec/client/client_authz_scope_client_spec.rb
129
144
  - spec/client/client_client_spec.rb
130
145
  - spec/client/client_role_mappings_client_spec.rb
131
146
  - spec/client/client_spec.rb
@@ -138,7 +153,12 @@ files:
138
153
  - spec/client/token_client_spec.rb
139
154
  - spec/client/user_client_spec.rb
140
155
  - spec/configuration_spec.rb
156
+ - spec/integration/client_authorization_spec.rb
141
157
  - spec/representation/attack_detection_representation_spec.rb
158
+ - spec/representation/client_authz_permission_representation_spec.rb
159
+ - spec/representation/client_authz_policy_representation_spec.rb
160
+ - spec/representation/client_authz_resource_representation_spec.rb
161
+ - spec/representation/client_authz_scope_representation_spec.rb
142
162
  - spec/representation/client_representation_spec.rb
143
163
  - spec/representation/group_representation_spec.rb
144
164
  - spec/representation/identity_provider_mapper_representation_spec.rb
@@ -170,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
190
  - !ruby/object:Gem::Version
171
191
  version: '0'
172
192
  requirements: []
173
- rubygems_version: 3.4.10
193
+ rubygems_version: 3.5.11
174
194
  signing_key:
175
195
  specification_version: 4
176
196
  summary: Keycloak Admin REST API client written in Ruby