Module: Keycloak::Admin
- Included in:
- Internal
- Defined in:
- lib/keycloak.rb
Overview
Os recursos desse module (admin) serão utilizadas apenas por usuários que possuem as roles do client realm-management
Class Method Summary collapse
- .add_client_level_roles_to_user(id, client, role_representation, access_token = nil) ⇒ Object
- .count_users(access_token = nil) ⇒ Object
- .create_user(user_representation, access_token = nil) ⇒ Object
- .delete_client_level_roles_from_user(id, client, role_representation, access_token = nil) ⇒ Object
- .delete_user(id, access_token = nil) ⇒ Object
- .generic_delete(service, query_parameters = nil, body_parameter = nil, access_token = nil) ⇒ Object
-
.generic_get(service, query_parameters = nil, access_token = nil) ⇒ Object
Generics methods.
- .generic_post(service, query_parameters, body_parameter, access_token = nil) ⇒ Object
- .generic_put(service, query_parameters, body_parameter, access_token = nil) ⇒ Object
- .get_all_roles_client(id, access_token = nil) ⇒ Object
- .get_client_level_role_for_user_and_app(id, client, access_token = nil) ⇒ Object
- .get_clients(query_parameters = nil, access_token = nil) ⇒ Object
- .get_effective_client_level_role_composite_user(id, client, access_token = nil) ⇒ Object
- .get_role_mappings(id, access_token = nil) ⇒ Object
- .get_roles_client_by_name(id, role_name, access_token = nil) ⇒ Object
- .get_user(id, access_token = nil) ⇒ Object
- .get_users(query_parameters = nil, access_token = nil) ⇒ Object
- .reset_password(id, credential_representation, access_token = nil) ⇒ Object
- .revoke_consent_user(id, client_id = nil, access_token = nil) ⇒ Object
- .update_account_email(id, actions, redirect_uri = '', client_id = nil, access_token = nil) ⇒ Object
- .update_effective_user_roles(id, client_id, roles_names, access_token = nil) ⇒ Object
- .update_user(id, user_representation, access_token = nil) ⇒ Object
Class Method Details
.add_client_level_roles_to_user(id, client, role_representation, access_token = nil) ⇒ Object
465 466 467 |
# File 'lib/keycloak.rb', line 465 def self.add_client_level_roles_to_user(id, client, role_representation, access_token = nil) generic_post("users/#{id}/role-mappings/clients/#{client}", nil, role_representation, access_token) end |
.count_users(access_token = nil) ⇒ Object
423 424 425 |
# File 'lib/keycloak.rb', line 423 def self.count_users(access_token = nil) generic_get("users/count/", nil, access_token) end |
.create_user(user_representation, access_token = nil) ⇒ Object
419 420 421 |
# File 'lib/keycloak.rb', line 419 def self.create_user(user_representation, access_token = nil) generic_post("users/", nil, user_representation, access_token) end |
.delete_client_level_roles_from_user(id, client, role_representation, access_token = nil) ⇒ Object
469 470 471 |
# File 'lib/keycloak.rb', line 469 def self.delete_client_level_roles_from_user(id, client, role_representation, access_token = nil) generic_delete("users/#{id}/role-mappings/clients/#{client}", nil, role_representation, access_token) end |
.delete_user(id, access_token = nil) ⇒ Object
435 436 437 |
# File 'lib/keycloak.rb', line 435 def self.delete_user(id, access_token = nil) generic_delete("users/#{id}", nil, nil, access_token) end |
.generic_delete(service, query_parameters = nil, body_parameter = nil, access_token = nil) ⇒ Object
546 547 548 |
# File 'lib/keycloak.rb', line 546 def self.generic_delete(service, query_parameters = nil, body_parameter = nil, access_token = nil) Keycloak.generic_request(effective_access_token(access_token), full_url(service), query_parameters, body_parameter, 'DELETE') end |
.generic_get(service, query_parameters = nil, access_token = nil) ⇒ Object
Generics methods
534 535 536 |
# File 'lib/keycloak.rb', line 534 def self.generic_get(service, query_parameters = nil, access_token = nil) Keycloak.generic_request(effective_access_token(access_token), full_url(service), query_parameters, nil, 'GET') end |
.generic_post(service, query_parameters, body_parameter, access_token = nil) ⇒ Object
538 539 540 |
# File 'lib/keycloak.rb', line 538 def self.generic_post(service, query_parameters, body_parameter, access_token = nil) Keycloak.generic_request(effective_access_token(access_token), full_url(service), query_parameters, body_parameter, 'POST') end |
.generic_put(service, query_parameters, body_parameter, access_token = nil) ⇒ Object
542 543 544 |
# File 'lib/keycloak.rb', line 542 def self.generic_put(service, query_parameters, body_parameter, access_token = nil) Keycloak.generic_request(effective_access_token(access_token), full_url(service), query_parameters, body_parameter, 'PUT') end |
.get_all_roles_client(id, access_token = nil) ⇒ Object
457 458 459 |
# File 'lib/keycloak.rb', line 457 def self.get_all_roles_client(id, access_token = nil) generic_get("clients/#{id}/roles", nil, access_token) end |
.get_client_level_role_for_user_and_app(id, client, access_token = nil) ⇒ Object
473 474 475 |
# File 'lib/keycloak.rb', line 473 def self.get_client_level_role_for_user_and_app(id, client, access_token = nil) generic_get("users/#{id}/role-mappings/clients/#{client}", nil, access_token) end |
.get_clients(query_parameters = nil, access_token = nil) ⇒ Object
453 454 455 |
# File 'lib/keycloak.rb', line 453 def self.get_clients(query_parameters = nil, access_token = nil) generic_get("clients/", query_parameters, access_token) end |
.get_effective_client_level_role_composite_user(id, client, access_token = nil) ⇒ Object
528 529 530 |
# File 'lib/keycloak.rb', line 528 def self.get_effective_client_level_role_composite_user(id, client, access_token = nil) generic_get("users/#{id}/role-mappings/clients/#{client}/composite", nil, access_token) end |
.get_role_mappings(id, access_token = nil) ⇒ Object
449 450 451 |
# File 'lib/keycloak.rb', line 449 def self.get_role_mappings(id, access_token = nil) generic_get("users/#{id}/role-mappings", nil, access_token) end |
.get_roles_client_by_name(id, role_name, access_token = nil) ⇒ Object
461 462 463 |
# File 'lib/keycloak.rb', line 461 def self.get_roles_client_by_name(id, role_name, access_token = nil) generic_get("clients/#{id}/roles/#{role_name}", nil, access_token) end |
.get_user(id, access_token = nil) ⇒ Object
427 428 429 |
# File 'lib/keycloak.rb', line 427 def self.get_user(id, access_token = nil) generic_get("users/#{id}", nil, access_token) end |
.get_users(query_parameters = nil, access_token = nil) ⇒ Object
415 416 417 |
# File 'lib/keycloak.rb', line 415 def self.get_users(query_parameters = nil, access_token = nil) generic_get("users/", query_parameters, access_token) end |
.reset_password(id, credential_representation, access_token = nil) ⇒ Object
524 525 526 |
# File 'lib/keycloak.rb', line 524 def self.reset_password(id, credential_representation, access_token = nil) generic_put("users/#{id}/reset-password", nil, credential_representation, access_token) end |
.revoke_consent_user(id, client_id = nil, access_token = nil) ⇒ Object
439 440 441 442 |
# File 'lib/keycloak.rb', line 439 def self.(id, client_id = nil, access_token = nil) client_id = Keycloak::Client.client_id if client_id.blank? generic_delete("users/#{id}/consents/#{client_id}", nil, nil, access_token) end |
.update_account_email(id, actions, redirect_uri = '', client_id = nil, access_token = nil) ⇒ Object
444 445 446 447 |
# File 'lib/keycloak.rb', line 444 def self.update_account_email(id, actions, redirect_uri = '', client_id = nil, access_token = nil) client_id = Keycloak::Client.client_id if client_id.blank? generic_put("users/#{id}/execute-actions-email", {:redirect_uri => redirect_uri, :client_id => client_id}, actions, access_token) end |
.update_effective_user_roles(id, client_id, roles_names, access_token = nil) ⇒ Object
477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 |
# File 'lib/keycloak.rb', line 477 def self.update_effective_user_roles(id, client_id, roles_names, access_token = nil) client = JSON get_clients({ clientId: client_id }, access_token) user_roles = JSON get_client_level_role_for_user_and_app(id, client[0]['id'], access_token) roles = Array.new # Include new role roles_names.each do |r| if r && !r.empty? found = false user_roles.each do |ur| found = ur['name'] == r break if found found = false end if !found role = JSON get_roles_client_by_name(client[0]['id'], r, access_token) roles.push(role) end end end garbage_roles = Array.new # Exclude old role user_roles.each do |ur| found = false roles_names.each do |r| if r && !r.empty? found = ur['name'] == r break if found found = false end end if !found garbage_roles.push(ur) end end if garbage_roles.count > 0 delete_client_level_roles_from_user(id, client[0]['id'], garbage_roles, access_token) end if roles.count > 0 add_client_level_roles_to_user(id, client[0]['id'], roles, access_token) end end |
.update_user(id, user_representation, access_token = nil) ⇒ Object
431 432 433 |
# File 'lib/keycloak.rb', line 431 def self.update_user(id, user_representation, access_token = nil) generic_put("users/#{id}", nil, user_representation, access_token) end |