class KeycloakAdmin::Configuration

Attributes

client_id[RW]
client_realm_name[RW]
client_secret[RW]
logger[RW]
password[RW]
rest_client_options[RW]
server_domain[RW]
server_url[RW]
use_service_account[RW]
username[RW]

Public Instance Methods

body_for_token_retrieval() click to toggle source
# File lib/keycloak-admin/configuration.rb, line 7
def body_for_token_retrieval
  if use_service_account
    body_for_service_account
  else
    body_for_username_and_password
  end
end
headers_for_token_retrieval() click to toggle source
# File lib/keycloak-admin/configuration.rb, line 15
def headers_for_token_retrieval
  if use_service_account
    headers_for_service_account
  else
    headers_for_username_and_password
  end
end

Private Instance Methods

body_for_service_account() click to toggle source
# File lib/keycloak-admin/configuration.rb, line 25
def body_for_service_account
  {
    grant_type:    "client_credentials"
  }
end
body_for_username_and_password() click to toggle source
# File lib/keycloak-admin/configuration.rb, line 31
def body_for_username_and_password
  {
    username:      username,
    password:      password,
    grant_type:    "password",
    client_id:     client_id,
    client_secret: client_secret
  }
end
headers_for_service_account() click to toggle source
# File lib/keycloak-admin/configuration.rb, line 41
def headers_for_service_account
  id_and_secret = Base64::strict_encode64("#{client_id}:#{client_secret}")
  {
    Authorization: "Basic #{id_and_secret}"
  }
end
headers_for_username_and_password() click to toggle source
# File lib/keycloak-admin/configuration.rb, line 48
def headers_for_username_and_password
  {}
end