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
450 451 452 |
# File 'lib/keycloak.rb', line 450 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
404 405 406 |
# File 'lib/keycloak.rb', line 404 def self.count_users(access_token = nil) generic_get("users/count/", nil, access_token) end |
.create_user(user_representation, access_token = nil) ⇒ Object
400 401 402 |
# File 'lib/keycloak.rb', line 400 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
454 455 456 |
# File 'lib/keycloak.rb', line 454 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
416 417 418 |
# File 'lib/keycloak.rb', line 416 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
531 532 533 |
# File 'lib/keycloak.rb', line 531 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
519 520 521 |
# File 'lib/keycloak.rb', line 519 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
523 524 525 |
# File 'lib/keycloak.rb', line 523 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
527 528 529 |
# File 'lib/keycloak.rb', line 527 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
442 443 444 |
# File 'lib/keycloak.rb', line 442 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
458 459 460 |
# File 'lib/keycloak.rb', line 458 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
438 439 440 |
# File 'lib/keycloak.rb', line 438 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
513 514 515 |
# File 'lib/keycloak.rb', line 513 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
434 435 436 |
# File 'lib/keycloak.rb', line 434 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
446 447 448 |
# File 'lib/keycloak.rb', line 446 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
408 409 410 |
# File 'lib/keycloak.rb', line 408 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
396 397 398 |
# File 'lib/keycloak.rb', line 396 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
509 510 511 |
# File 'lib/keycloak.rb', line 509 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
420 421 422 423 424 425 |
# File 'lib/keycloak.rb', line 420 def self.(id, client_id = nil, access_token = nil) if client_id.nil? client_id = Keycloak::Client.client_id end 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
427 428 429 430 431 432 |
# File 'lib/keycloak.rb', line 427 def self.update_account_email(id, actions, redirect_uri = '', client_id = nil, access_token = nil) if client_id.nil? client_id = Keycloak::Client.client_id end 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
462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 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 |
# File 'lib/keycloak.rb', line 462 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
412 413 414 |
# File 'lib/keycloak.rb', line 412 def self.update_user(id, user_representation, access_token = nil) generic_put("users/#{id}", nil, user_representation, access_token) end |