keycloak 2.5.1 → 3.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52da55a01a2b3a18934d2fd52092786d8b2efaf0f3d6f72d09757dff97f3241f
4
- data.tar.gz: 6e8008d60572da3bdd56de6cd647a0e3a9ff59218b43b7e7248ce4d54201c106
3
+ metadata.gz: dd3cb974c7f655f965f864b7fcffee8a1c69166a91f43957522cfabe3f6aba3b
4
+ data.tar.gz: a78167c5ababe6e103ec55dd5adb044000dcf6c21dca8318f332a9eecdc6b611
5
5
  SHA512:
6
- metadata.gz: c9b7f0911880f3f28b0135f54175e837086e8f816b7406a96b97e4fa94b9a0237d1501ff2754cb93b2d68a8fa8d274e6db534b4ab315509d347267b74f2cc657
7
- data.tar.gz: cfb6bb9d8d7872594a408f6c1c13425747af5a0378abac367c3e291b9695ae6f76d2f98d1af44d3e445867c4d05ccdf2f0ad66669da2735f05301d31a863f288
6
+ metadata.gz: a616d4cad7f422573b31c3e3c1f9129c4dbf51142d9e4f403c65f6e62a7ae64c62511e78e5f8589245db2e8aa4dc43c632734ec30eb26df4734c27899afb3228
7
+ data.tar.gz: 4269bbc0fc85ea7347428339c1a20b66db32e9b5e4a5b3dec9c0ce50aad4a8472cd74d19379edd80c62e70624ea9b33404545baca29f1bf8cae398dd182fda60
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- keycloak (2.5.1)
4
+ keycloak (3.0.0)
5
5
  json
6
6
  jwt
7
7
  rest-client
data/lib/keycloak.rb CHANGED
@@ -5,9 +5,13 @@ require 'jwt'
5
5
  require 'base64'
6
6
  require 'uri'
7
7
 
8
+ def isempty?(value)
9
+ value.respond_to?(:empty?) ? !!value.empty? : !value
10
+ end
11
+
8
12
  module Keycloak
9
- OLD_KEYCLOAK_JSON_FILE = 'keycloak.json'
10
- KEYCLOAK_JSON_FILE = 'config/keycloak.json'
13
+ OLD_KEYCLOAK_JSON_FILE = 'keycloak.json'.freeze
14
+ KEYCLOAK_JSON_FILE = 'config/keycloak.json'.freeze
11
15
 
12
16
  class << self
13
17
  attr_accessor :proxy, :generate_request_exception, :keycloak_controller,
@@ -21,15 +25,15 @@ module Keycloak
21
25
  end
22
26
 
23
27
  def self.installation_file
24
- if File.exists?(KEYCLOAK_JSON_FILE)
25
- @installation_file ||= KEYCLOAK_JSON_FILE
26
- else
27
- @installation_file ||= OLD_KEYCLOAK_JSON_FILE
28
- end
28
+ @installation_file ||= if File.exist?(KEYCLOAK_JSON_FILE)
29
+ KEYCLOAK_JSON_FILE
30
+ else
31
+ OLD_KEYCLOAK_JSON_FILE
32
+ end
29
33
  end
30
34
 
31
35
  def self.installation_file=(file = nil)
32
- raise InstallationFileNotFound unless file.instance_of?(String) && File.exists?(file)
36
+ raise InstallationFileNotFound unless file.instance_of?(String) && File.exist?(file)
33
37
  @installation_file = file || KEYCLOAK_JSON_FILE
34
38
  end
35
39
 
@@ -42,8 +46,8 @@ module Keycloak
42
46
  def self.get_token(user, password, client_id = '', secret = '')
43
47
  setup_module
44
48
 
45
- client_id = @client_id if client_id.blank?
46
- secret = @secret if secret.blank?
49
+ client_id = @client_id if isempty?(client_id)
50
+ secret = @secret if isempty?(secret)
47
51
 
48
52
  payload = { 'client_id' => client_id,
49
53
  'client_secret' => secret,
@@ -57,8 +61,8 @@ module Keycloak
57
61
  def self.get_token_by_code(code, redirect_uri, client_id = '', secret = '')
58
62
  verify_setup
59
63
 
60
- client_id = @client_id if client_id.blank?
61
- secret = @secret if secret.blank?
64
+ client_id = @client_id if isempty?(client_id)
65
+ secret = @secret if isempty?(secret)
62
66
 
63
67
  payload = { 'client_id' => client_id,
64
68
  'client_secret' => secret,
@@ -72,9 +76,9 @@ module Keycloak
72
76
  def self.get_token_by_exchange(issuer, issuer_token, client_id = '', secret = '', token_endpoint = '')
73
77
  setup_module
74
78
 
75
- client_id = @client_id if client_id.blank?
76
- secret = @secret if secret.blank?
77
- token_endpoint = @configuration['token_endpoint'] if token_endpoint.blank?
79
+ client_id = @client_id if isempty?(client_id)
80
+ secret = @secret if isempty?(secret)
81
+ token_endpoint = @configuration['token_endpoint'] if isempty?(token_endpoint)
78
82
 
79
83
  payload = { 'client_id' => client_id, 'client_secret' => secret, 'audience' => client_id, 'grant_type' => 'urn:ietf:params:oauth:grant-type:token-exchange', 'subject_token_type' => 'urn:ietf:params:oauth:token-type:access_token', 'subject_issuer' => issuer, 'subject_token' => issuer_token }
80
84
  header = { 'Content-Type' => 'application/x-www-form-urlencoded' }
@@ -95,7 +99,7 @@ module Keycloak
95
99
  def self.get_userinfo_issuer(access_token = '', userinfo_endpoint = '')
96
100
  verify_setup
97
101
 
98
- userinfo_endpoint = @configuration['userinfo_endpoint'] if userinfo_endpoint.blank?
102
+ userinfo_endpoint = @configuration['userinfo_endpoint'] if isempty?(userinfo_endpoint)
99
103
 
100
104
  access_token = self.token["access_token"] if access_token.empty?
101
105
  payload = { 'access_token' => access_token }
@@ -112,9 +116,9 @@ module Keycloak
112
116
  def self.get_token_by_refresh_token(refresh_token = '', client_id = '', secret = '')
113
117
  verify_setup
114
118
 
115
- client_id = @client_id if client_id.blank?
116
- secret = @secret if secret.blank?
117
- refresh_token = self.token['refresh_token'] if refresh_token.empty?
119
+ client_id = @client_id if isempty?(client_id)
120
+ secret = @secret if isempty?(secret)
121
+ refresh_token = token['refresh_token'] if refresh_token.empty?
118
122
 
119
123
  payload = { 'client_id' => client_id,
120
124
  'client_secret' => secret,
@@ -127,8 +131,8 @@ module Keycloak
127
131
  def self.get_token_by_client_credentials(client_id = '', secret = '')
128
132
  setup_module
129
133
 
130
- client_id = @client_id if client_id.blank?
131
- secret = @secret if secret.blank?
134
+ client_id = @client_id if isempty?(client_id)
135
+ secret = @secret if isempty?(secret)
132
136
 
133
137
  payload = { 'client_id' => client_id,
134
138
  'client_secret' => secret,
@@ -140,10 +144,10 @@ module Keycloak
140
144
  def self.get_token_introspection(token = '', client_id = '', secret = '', token_introspection_endpoint = '')
141
145
  verify_setup
142
146
 
143
- client_id = @client_id if client_id.blank?
144
- secret = @secret if secret.blank?
145
- token = self.token["access_token"] if token.blank?
146
- token_introspection_endpoint = @configuration['token_introspection_endpoint'] if token_introspection_endpoint.blank?
147
+ client_id = @client_id if isempty?(client_id)
148
+ secret = @secret if isempty?(secret)
149
+ token = self.token['access_token'] if isempty?(token)
150
+ token_introspection_endpoint = @configuration['token_introspection_endpoint'] if isempty?(token_introspection_endpoint)
147
151
 
148
152
  payload = { 'token' => token }
149
153
 
@@ -170,10 +174,10 @@ module Keycloak
170
174
  def self.url_login_redirect(redirect_uri, response_type = 'code', client_id = '', authorization_endpoint = '')
171
175
  verify_setup
172
176
 
173
- client_id = @client_id if client_id.blank?
174
- authorization_endpoint = @configuration['authorization_endpoint'] if authorization_endpoint.blank?
177
+ client_id = @client_id if isempty?(client_id)
178
+ authorization_endpoint = @configuration['authorization_endpoint'] if isempty?(authorization_endpoint)
175
179
 
176
- p = URI.encode_www_form({ response_type: response_type, client_id: client_id, redirect_uri: redirect_uri })
180
+ p = URI.encode_www_form(response_type: response_type, client_id: client_id, redirect_uri: redirect_uri)
177
181
  "#{authorization_endpoint}?#{p}"
178
182
  end
179
183
 
@@ -183,9 +187,9 @@ module Keycloak
183
187
  if self.token || !refresh_token.empty?
184
188
 
185
189
  refresh_token = self.token['refresh_token'] if refresh_token.empty?
186
- client_id = @client_id if client_id.blank?
187
- secret = @secret if secret.blank?
188
- end_session_endpoint = @configuration['end_session_endpoint'] if end_session_endpoint.blank?
190
+ client_id = @client_id if isempty?(client_id)
191
+ secret = @secret if isempty?(secret)
192
+ end_session_endpoint = @configuration['end_session_endpoint'] if isempty?(end_session_endpoint)
189
193
 
190
194
  payload = { 'client_id' => client_id,
191
195
  'client_secret' => secret,
@@ -193,11 +197,11 @@ module Keycloak
193
197
 
194
198
  header = { 'Content-Type' => 'application/x-www-form-urlencoded' }
195
199
 
196
- if redirect_uri.empty?
197
- final_url = end_session_endpoint
198
- else
199
- final_url = "#{end_session_endpoint}?#{URI.encode_www_form({ redirect_uri: redirect_uri })}"
200
- end
200
+ final_url = if redirect_uri.empty?
201
+ end_session_endpoint
202
+ else
203
+ "#{end_session_endpoint}?#{URI.encode_www_form(redirect_uri: redirect_uri)}"
204
+ end
201
205
 
202
206
  _request = -> do
203
207
  RestClient.post(final_url, payload, header){ |response, request, result|
@@ -219,8 +223,8 @@ module Keycloak
219
223
  def self.get_userinfo(access_token = '', userinfo_endpoint = '')
220
224
  verify_setup
221
225
 
222
- access_token = self.token["access_token"] if access_token.empty?
223
- userinfo_endpoint = @configuration['userinfo_endpoint'] if userinfo_endpoint.blank?
226
+ access_token = self.token['access_token'] if access_token.empty?
227
+ userinfo_endpoint = @configuration['userinfo_endpoint'] if isempty?(userinfo_endpoint)
224
228
 
225
229
  payload = { 'access_token' => access_token }
226
230
 
@@ -249,32 +253,28 @@ module Keycloak
249
253
  def self.has_role?(user_role, access_token = '', client_id = '', secret = '', token_introspection_endpoint = '')
250
254
  verify_setup
251
255
 
252
- client_id = @client_id if client_id.blank?
253
- secret = @secret if secret.blank?
254
- token_introspection_endpoint = @configuration['token_introspection_endpoint'] if token_introspection_endpoint.blank?
256
+ client_id = @client_id if isempty?(client_id)
257
+ secret = @secret if isempty?(secret)
258
+ token_introspection_endpoint = @configuration['token_introspection_endpoint'] if isempty?(token_introspection_endpoint)
255
259
 
256
260
  if !Keycloak.validate_token_when_call_has_role || user_signed_in?(access_token, client_id, secret, token_introspection_endpoint)
257
261
  dt = decoded_access_token(access_token)[0]
258
- dt = dt["resource_access"][client_id]
259
- if dt != nil
260
- dt["roles"].each do |role|
262
+ dt = dt['resource_access'][client_id]
263
+ unless dt.nil?
264
+ dt['roles'].each do |role|
261
265
  return true if role.to_s == user_role.to_s
262
266
  end
263
- false
264
- else
265
- false
266
267
  end
267
- else
268
- false
269
268
  end
269
+ false
270
270
  end
271
271
 
272
272
  def self.user_signed_in?(access_token = '', client_id = '', secret = '', token_introspection_endpoint = '')
273
273
  verify_setup
274
274
 
275
- client_id = @client_id if client_id.blank?
276
- secret = @secret if secret.blank?
277
- token_introspection_endpoint = @configuration['token_introspection_endpoint'] if token_introspection_endpoint.blank?
275
+ client_id = @client_id if isempty?(client_id)
276
+ secret = @secret if isempty?(secret)
277
+ token_introspection_endpoint = @configuration['token_introspection_endpoint'] if isempty?(token_introspection_endpoint)
278
278
 
279
279
  begin
280
280
  JSON(get_token_introspection(access_token, client_id, secret, token_introspection_endpoint))['active'] === true
@@ -322,7 +322,7 @@ module Keycloak
322
322
 
323
323
  private
324
324
 
325
- KEYCLOACK_CONTROLLER_DEFAULT = 'session'
325
+ KEYCLOACK_CONTROLLER_DEFAULT = 'session'.freeze
326
326
 
327
327
  def self.get_installation
328
328
  if File.exists?(Keycloak.installation_file)
@@ -332,16 +332,13 @@ module Keycloak
332
332
  @secret = installation["credentials"]["secret"]
333
333
  @public_key = installation["realm-public-key"]
334
334
  @auth_server_url = installation["auth-server-url"]
335
- openid_configuration
336
335
  else
337
- if Keycloak.realm.blank? || Keycloak.auth_server_url.blank?
338
- raise "#{Keycloak.installation_file} and relm settings not found."
339
- else
340
- @realm = Keycloak.realm
341
- @auth_server_url = Keycloak.auth_server_url
342
- openid_configuration
343
- end
336
+ raise "#{Keycloak.installation_file} and relm settings not found." if isempty?(Keycloak.realm) || isempty?(Keycloak.auth_server_url)
337
+
338
+ @realm = Keycloak.realm
339
+ @auth_server_url = Keycloak.auth_server_url
344
340
  end
341
+ openid_configuration
345
342
  end
346
343
 
347
344
  def self.verify_setup
@@ -368,7 +365,7 @@ module Keycloak
368
365
  end
369
366
 
370
367
  def self.openid_configuration
371
- RestClient.proxy = Keycloak.proxy if Keycloak.proxy.present?
368
+ RestClient.proxy = Keycloak.proxy unless isempty?(Keycloak.proxy)
372
369
  config_url = "#{@auth_server_url}/realms/#{@realm}/.well-known/openid-configuration"
373
370
  _request = -> do
374
371
  RestClient.get config_url
@@ -438,13 +435,13 @@ module Keycloak
438
435
  end
439
436
 
440
437
  def self.revoke_consent_user(id, client_id = nil, access_token = nil)
441
- client_id = Keycloak::Client.client_id if client_id.blank?
438
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
442
439
  generic_delete("users/#{id}/consents/#{client_id}", nil, nil, access_token)
443
440
  end
444
441
 
445
442
  def self.update_account_email(id, actions, redirect_uri = '', client_id = nil, access_token = nil)
446
- client_id = Keycloak::Client.client_id if client_id.blank?
447
- generic_put("users/#{id}/execute-actions-email", {:redirect_uri => redirect_uri, :client_id => client_id}, actions, access_token)
443
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
444
+ generic_put("users/#{id}/execute-actions-email", { redirect_uri: redirect_uri, client_id: client_id }, actions, access_token)
448
445
  end
449
446
 
450
447
  def self.get_role_mappings(id, access_token = nil)
@@ -555,7 +552,7 @@ module Keycloak
555
552
  private
556
553
 
557
554
  def self.effective_access_token(access_token)
558
- if access_token.blank?
555
+ if isempty?(access_token)
559
556
  Keycloak::Client.token['access_token']
560
557
  else
561
558
  access_token
@@ -578,35 +575,35 @@ module Keycloak
578
575
  end
579
576
 
580
577
  def self.get_users(query_parameters = nil, client_id = '', secret = '')
581
- client_id = Keycloak::Client.client_id if client_id.blank?
582
- secret = Keycloak::Client.secret if secret.blank?
578
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
579
+ secret = Keycloak::Client.secret if isempty?(secret)
583
580
 
584
581
  proc = lambda {|token|
585
- Keycloak::Admin.get_users(query_parameters, token["access_token"])
582
+ Keycloak::Admin.get_users(query_parameters, token['access_token'])
586
583
  }
587
584
 
588
585
  default_call(proc, client_id, secret)
589
586
  end
590
587
 
591
588
  def self.get_groups(query_parameters = nil, client_id = '', secret = '')
592
- client_id = Keycloak::Client.client_id if client_id.blank?
593
- secret = Keycloak::Client.secret if secret.blank?
589
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
590
+ secret = Keycloak::Client.secret if isempty?(secret)
594
591
 
595
- proc = lambda {|token|
596
- Keycloak::Admin.get_groups(query_parameters, token["access_token"])
592
+ proc = lambda { |token|
593
+ Keycloak::Admin.get_groups(query_parameters, token['access_token'])
597
594
  }
598
595
 
599
596
  default_call(proc, client_id, secret)
600
597
  end
601
598
 
602
599
  def self.change_password(user_id, redirect_uri = '', client_id = '', secret = '')
603
- client_id = Keycloak::Client.client_id if client_id.blank?
604
- secret = Keycloak::Client.secret if secret.blank?
600
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
601
+ secret = Keycloak::Client.secret if isempty?(secret)
605
602
 
606
603
  proc = lambda {|token|
607
- Keycloak.generic_request(token["access_token"],
604
+ Keycloak.generic_request(token['access_token'],
608
605
  Keycloak::Admin.full_url("users/#{user_id}/execute-actions-email"),
609
- {:redirect_uri => redirect_uri, :client_id => client_id},
606
+ { redirect_uri: redirect_uri, client_id: client_id },
610
607
  ['UPDATE_PASSWORD'],
611
608
  'PUT')
612
609
  }
@@ -615,20 +612,20 @@ module Keycloak
615
612
  end
616
613
 
617
614
  def self.forgot_password(user_login, redirect_uri = '', client_id = '', secret = '')
618
- client_id = Keycloak::Client.client_id if client_id.blank?
619
- secret = Keycloak::Client.secret if secret.blank?
615
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
616
+ secret = Keycloak::Client.secret if isempty?(secret)
620
617
 
621
618
  user = get_user_info(user_login, true, client_id, secret)
622
619
  change_password(user['id'], redirect_uri, client_id, secret)
623
620
  end
624
621
 
625
622
  def self.get_logged_user_info(client_id = '', secret = '')
626
- client_id = Keycloak::Client.client_id if client_id.blank?
627
- secret = Keycloak::Client.secret if secret.blank?
623
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
624
+ secret = Keycloak::Client.secret if isempty?(secret)
628
625
 
629
626
  proc = lambda {|token|
630
627
  userinfo = JSON Keycloak::Client.get_userinfo
631
- Keycloak.generic_request(token["access_token"],
628
+ Keycloak.generic_request(token['access_token'],
632
629
  Keycloak::Admin.full_url("users/#{userinfo['sub']}"),
633
630
  nil, nil, 'GET')
634
631
  }
@@ -637,8 +634,8 @@ module Keycloak
637
634
  end
638
635
 
639
636
  def self.get_user_info(user_login, whole_word = false, client_id = '', secret = '')
640
- client_id = Keycloak::Client.client_id if client_id.blank?
641
- secret = Keycloak::Client.secret if secret.blank?
637
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
638
+ secret = Keycloak::Client.secret if isempty?(secret)
642
639
 
643
640
  proc = lambda { |token|
644
641
  if user_login.index('@').nil?
@@ -679,13 +676,13 @@ module Keycloak
679
676
  end
680
677
 
681
678
  def self.exists_name_or_email(value, user_id = '', client_id = '', secret = '')
682
- client_id = Keycloak::Client.client_id if client_id.blank?
683
- secret = Keycloak::Client.secret if secret.blank?
679
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
680
+ secret = Keycloak::Client.secret if isempty?(secret)
684
681
 
685
682
  begin
686
683
  usuario = Keycloak::Internal.get_user_info(value, true, client_id, secret)
687
684
  if user_id.empty? || user_id != usuario['id']
688
- usuario.present?
685
+ !isempty?(usuario)
689
686
  else
690
687
  false
691
688
  end
@@ -695,22 +692,22 @@ module Keycloak
695
692
  end
696
693
 
697
694
  def self.logged_federation_user?(client_id = '', secret = '')
698
- client_id = Keycloak::Client.client_id if client_id.blank?
699
- secret = Keycloak::Client.secret if secret.blank?
695
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
696
+ secret = Keycloak::Client.secret if isempty?(secret)
700
697
  info = get_logged_user_info(client_id, secret)
701
698
  info['federationLink'] != nil
702
699
  end
703
700
 
704
701
  def self.create_simple_user(username, password, email, first_name, last_name, realm_roles_names, client_roles_names, proc = nil, client_id = '', secret = '')
705
- client_id = Keycloak::Client.client_id if client_id.blank?
706
- secret = Keycloak::Client.secret if secret.blank?
702
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
703
+ secret = Keycloak::Client.secret if isempty?(secret)
707
704
 
708
705
  begin
709
706
  username.downcase!
710
707
  user = get_user_info(username, true, client_id, secret)
711
- newUser = false
708
+ new_user = false
712
709
  rescue Keycloak::UserLoginNotFound
713
- newUser = true
710
+ new_user = true
714
711
  rescue
715
712
  raise
716
713
  end
@@ -722,11 +719,11 @@ module Keycloak
722
719
  lastName: last_name,
723
720
  enabled: true }
724
721
 
725
- if !newUser || Keycloak.generic_request(token["access_token"],
722
+ if !new_user || Keycloak.generic_request(token["access_token"],
726
723
  Keycloak::Admin.full_url("users/"),
727
724
  nil, user_representation, 'POST')
728
725
 
729
- user = get_user_info(username, true, client_id, secret) if newUser
726
+ user = get_user_info(username, true, client_id, secret) if new_user
730
727
 
731
728
  credential_representation = { type: "password",
732
729
  temporary: false,
@@ -743,7 +740,7 @@ module Keycloak
743
740
  if client_roles_names.count > 0
744
741
  roles = []
745
742
  client_roles_names.each do |r|
746
- if r.present?
743
+ unless isempty?(r)
747
744
  role = JSON Keycloak.generic_request(token["access_token"],
748
745
  Keycloak::Admin.full_url("clients/#{client[0]['id']}/roles/#{r}"),
749
746
  nil, nil, 'GET')
@@ -761,7 +758,7 @@ module Keycloak
761
758
  if realm_roles_names.count > 0
762
759
  roles = []
763
760
  realm_roles_names.each do |r|
764
- if r.present?
761
+ unless isempty?(r)
765
762
  role = JSON Keycloak.generic_request(token["access_token"],
766
763
  Keycloak::Admin.full_url("roles/#{r}"),
767
764
  nil, nil, 'GET')
@@ -787,19 +784,19 @@ module Keycloak
787
784
  end
788
785
 
789
786
  def self.create_starter_user(username, password, email, client_roles_names, proc = nil, client_id = '', secret = '')
790
- client_id = Keycloak::Client.client_id if client_id.blank?
791
- secret = Keycloak::Client.secret if secret.blank?
787
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
788
+ secret = Keycloak::Client.secret if isempty?(secret)
792
789
  Keycloak::Internal.create_simple_user(username, password, email, '', '', [], client_roles_names, proc, client_id, secret)
793
790
  end
794
791
 
795
792
  def self.get_client_roles(client_id = '', secret = '')
796
- client_id = Keycloak::Client.client_id if client_id.blank?
797
- secret = Keycloak::Client.secret if secret.blank?
793
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
794
+ secret = Keycloak::Client.secret if isempty?(secret)
798
795
 
799
796
  proc = lambda {|token|
800
- client = JSON Keycloak::Admin.get_clients({ clientId: client_id }, token["access_token"])
797
+ client = JSON Keycloak::Admin.get_clients({ clientId: client_id }, token['access_token'])
801
798
 
802
- Keycloak.generic_request(token["access_token"],
799
+ Keycloak.generic_request(token['access_token'],
803
800
  Keycloak::Admin.full_url("clients/#{client[0]['id']}/roles"),
804
801
  nil, nil, 'GET')
805
802
  }
@@ -808,8 +805,8 @@ module Keycloak
808
805
  end
809
806
 
810
807
  def self.get_client_user_roles(user_id, client_id = '', secret = '')
811
- client_id = Keycloak::Client.client_id if client_id.blank?
812
- secret = Keycloak::Client.secret if secret.blank?
808
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
809
+ secret = Keycloak::Client.secret if isempty?(secret)
813
810
 
814
811
  proc = lambda {|token|
815
812
  client = JSON Keycloak::Admin.get_clients({ clientId: client_id }, token["access_token"])
@@ -820,8 +817,8 @@ module Keycloak
820
817
  end
821
818
 
822
819
  def self.has_role?(user_id, user_role, client_id = '', secret = '')
823
- client_id = Keycloak::Client.client_id if client_id.blank?
824
- secret = Keycloak::Client.secret if secret.blank?
820
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
821
+ secret = Keycloak::Client.secret if isempty?(secret)
825
822
 
826
823
  roles = JSON get_client_user_roles(user_id, client_id, secret)
827
824
  if !roles.nil?
@@ -843,8 +840,8 @@ module Keycloak
843
840
 
844
841
  Keycloak::Client.get_installation
845
842
 
846
- client_id = Keycloak::Client.client_id if client_id.blank?
847
- secret = Keycloak::Client.secret if secret.blank?
843
+ client_id = Keycloak::Client.client_id if isempty?(client_id)
844
+ secret = Keycloak::Client.secret if isempty?(secret)
848
845
 
849
846
  payload = { 'client_id' => client_id,
850
847
  'client_secret' => secret,
@@ -886,7 +883,6 @@ module Keycloak
886
883
  end
887
884
  end
888
885
  end
889
-
890
886
  end
891
887
 
892
888
  private
@@ -945,7 +941,6 @@ module Keycloak
945
941
  end
946
942
 
947
943
  _request.call
948
-
949
944
  end
950
945
 
951
946
  def self.rescue_response(response)
@@ -957,11 +952,7 @@ module Keycloak
957
952
  response.body
958
953
  end
959
954
  when 400..499
960
- begin
961
- response.return!
962
- rescue RestClient::ExceptionWithResponse => err
963
- raise ActionController::RoutingError.new(err.response)
964
- end
955
+ response.return!
965
956
  else
966
957
  if Keycloak.explode_exception
967
958
  response.return!
@@ -978,4 +969,4 @@ module Keycloak
978
969
  end
979
970
  end
980
971
 
981
- require 'keycloak/exceptions'
972
+ require 'keycloak/exceptions'
@@ -1,3 +1,3 @@
1
1
  module Keycloak
2
- VERSION = "2.5.1"
2
+ VERSION = '3.0.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keycloak
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guilherme Portugues
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-25 00:00:00.000000000 Z
11
+ date: 2019-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler