Class: KeycloakAdmin::TokenClient

Inherits:
Client
  • Object
show all
Defined in:
lib/keycloak-admin/client/token_client.rb

Instance Method Summary collapse

Methods inherited from Client

#create_payload, #created_id, #current_token, #execute_http, #headers, #server_url

Constructor Details

#initialize(configuration, realm_client) ⇒ TokenClient

Returns a new instance of TokenClient.

Raises:

  • (ArgumentError)


3
4
5
6
7
# File 'lib/keycloak-admin/client/token_client.rb', line 3

def initialize(configuration, realm_client)
  super(configuration)
  raise ArgumentError.new("realm must be defined") unless realm_client.name_defined?
  @realm_client = realm_client
end

Instance Method Details

#getObject



17
18
19
20
21
22
23
24
25
# File 'lib/keycloak-admin/client/token_client.rb', line 17

def get
  response = execute_http do
    resource(token_url).post(
      @configuration.body_for_token_retrieval,
      @configuration.headers_for_token_retrieval
    )
  end
  TokenRepresentation.from_json(response.body)
end

#realm_urlObject



13
14
15
# File 'lib/keycloak-admin/client/token_client.rb', line 13

def realm_url
  @realm_client.realm_url
end

#token_urlObject



9
10
11
# File 'lib/keycloak-admin/client/token_client.rb', line 9

def token_url
  "#{realm_url}/protocol/openid-connect/token"
end