Class: KeycloakSdk::Admin::AdminClient

Inherits:
Object
  • Object
show all
Defined in:
lib/keycloak_sdk/admin/admin_client.rb

Overview

Admin REST 파사드. gem 없이 Faraday로 직접 래핑하고, bearer는 주입된 TokenProvider에서 소싱한다. representation은 plain hash로 통과한다(문서화된 은닉성 예외).

Instance Method Summary collapse

Constructor Details

#initialize(config:, token_provider:) ⇒ AdminClient

Returns a new instance of AdminClient.



8
9
10
11
# File 'lib/keycloak_sdk/admin/admin_client.rb', line 8

def initialize(config:, token_provider:)
  @config = config
  @conn = build_conn(config, token_provider)
end

Instance Method Details

#clientsObject



17
18
19
# File 'lib/keycloak_sdk/admin/admin_client.rb', line 17

def clients
  Clients.new(@conn, @config.realm)
end

#closeObject

자원 정리: 내부 Faraday 커넥션을 닫는다(§4 close 계약 — KeycloakClient#close가 위임).



39
40
41
# File 'lib/keycloak_sdk/admin/admin_client.rb', line 39

def close
  @conn.close if @conn.respond_to?(:close)
end

#groupsObject



29
30
31
# File 'lib/keycloak_sdk/admin/admin_client.rb', line 29

def groups
  Groups.new(@conn, @config.realm)
end

#rawObject

탈출구: 내부 Faraday 커넥션(base = server_url/, bearer 자동).



34
35
36
# File 'lib/keycloak_sdk/admin/admin_client.rb', line 34

def raw
  @conn
end

#realmsObject



21
22
23
# File 'lib/keycloak_sdk/admin/admin_client.rb', line 21

def realms
  Realms.new(@conn)
end

#rolesObject



25
26
27
# File 'lib/keycloak_sdk/admin/admin_client.rb', line 25

def roles
  Roles.new(@conn, @config.realm)
end

#usersObject



13
14
15
# File 'lib/keycloak_sdk/admin/admin_client.rb', line 13

def users
  Users.new(@conn, @config.realm)
end