keycloak
公開メンバ関数 | 静的公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.authorization.client.AuthzClient クラス
org.keycloak.authorization.client.AuthzClient 連携図
Collaboration graph

公開メンバ関数

ProtectionResource protection ()
 
ProtectionResource protection (final String accessToken)
 
ProtectionResource protection (String userName, String password)
 
AuthorizationResource authorization ()
 
AuthorizationResource authorization (final String accessToken)
 
AuthorizationResource authorization (final String userName, final String password)
 
AccessTokenResponse obtainAccessToken ()
 
AccessTokenResponse obtainAccessToken (String userName, String password)
 
ServerConfiguration getServerConfiguration ()
 
Configuration getConfiguration ()
 

静的公開メンバ関数

static AuthzClient create () throws RuntimeException
 
static AuthzClient create (Configuration configuration)
 
static AuthzClient create (Configuration configuration, ClientAuthenticator authenticator)
 

非公開メンバ関数

 AuthzClient (Configuration configuration, ClientAuthenticator authenticator)
 
TokenCallable createPatSupplier (String userName, String password)
 
TokenCallable createPatSupplier ()
 
TokenCallable createRefreshableAccessTokenSupplier (final String userName, final String password)
 

非公開変数類

final Http http
 
TokenCallable patSupplier
 
final ServerConfiguration serverConfiguration
 
final Configuration configuration
 

詳解

This is class serves as an entry point for clients looking for access to Keycloak Authorization Services.

When creating a new instances make sure you have a Keycloak Server running at the location specified in the client configuration. The client tries to obtain server configuration by invoking the UMA Discovery Endpoint, usually available from the server at http(s)://{server}:{port}/auth/realms/{realm}/.well-known/uma-configuration.

著者
Pedro Igor

構築子と解体子

◆ AuthzClient()

org.keycloak.authorization.client.AuthzClient.AuthzClient ( Configuration  configuration,
ClientAuthenticator  authenticator 
)
inlineprivate
220  {
221  if (configuration == null) {
222  throw new IllegalArgumentException("Client configuration can not be null.");
223  }
224 
225  String configurationUrl = configuration.getAuthServerUrl();
226 
227  if (configurationUrl == null) {
228  throw new IllegalArgumentException("Configuration URL can not be null.");
229  }
230 
231  configurationUrl += "/realms/" + configuration.getRealm() + "/.well-known/uma2-configuration";
232 
234 
235  this.http = new Http(configuration, authenticator != null ? authenticator : configuration.getClientAuthenticator());
236 
237  try {
238  this.serverConfiguration = this.http.<ServerConfiguration>get(configurationUrl)
239  .response().json(ServerConfiguration.class)
240  .execute();
241  } catch (Exception e) {
242  throw new RuntimeException("Could not obtain configuration from server [" + configurationUrl + "].", e);
243  }
244 
246  }
ClientAuthenticator getClientAuthenticator()
Definition: Configuration.java:69
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
String getAuthServerUrl()
Definition: BaseRealmConfig.java:66
final Configuration configuration
Definition: AuthzClient.java:89
void setServerConfiguration(ServerConfiguration serverConfiguration)
Definition: Http.java:59
String getRealm()
Definition: BaseRealmConfig.java:50
final Http http
Definition: AuthzClient.java:42

関数詳解

◆ authorization() [1/3]

AuthorizationResource org.keycloak.authorization.client.AuthzClient.authorization ( )
inline

Creates a AuthorizationResource instance which can be used to obtain permissions from the server.

戻り値
a AuthorizationResource
139  {
140  return new AuthorizationResource(configuration, serverConfiguration, this.http, null);
141  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
final Configuration configuration
Definition: AuthzClient.java:89
final Http http
Definition: AuthzClient.java:42

◆ authorization() [2/3]

AuthorizationResource org.keycloak.authorization.client.AuthzClient.authorization ( final String  accessToken)
inline

Creates a AuthorizationResource instance which can be used to obtain permissions from the server.

引数
accessTokenthe Access Token that will be used as a bearer to access the token endpoint
戻り値
a AuthorizationResource
149  {
150  return new AuthorizationResource(configuration, serverConfiguration, this.http, new TokenCallable(http, configuration, serverConfiguration) {
151  @Override
152  public String call() {
153  return accessToken;
154  }
155 
156  @Override
157  protected boolean isRetry() {
158  return false;
159  }
160  });
161  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
final Configuration configuration
Definition: AuthzClient.java:89
final Http http
Definition: AuthzClient.java:42

◆ authorization() [3/3]

AuthorizationResource org.keycloak.authorization.client.AuthzClient.authorization ( final String  userName,
final String  password 
)
inline

Creates a AuthorizationResource instance which can be used to obtain permissions from the server.

引数
userNamean ID Token or Access Token representing an identity and/or access context
password
戻り値
a AuthorizationResource
170  {
171  return new AuthorizationResource(configuration, serverConfiguration, this.http, createRefreshableAccessTokenSupplier(userName, password));
172  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
final Configuration configuration
Definition: AuthzClient.java:89
TokenCallable createRefreshableAccessTokenSupplier(final String userName, final String password)
Definition: AuthzClient.java:259
final Http http
Definition: AuthzClient.java:42

◆ create() [1/3]

static AuthzClient org.keycloak.authorization.client.AuthzClient.create ( ) throws RuntimeException
inlinestatic

Creates a new instance.

This method expects a keycloak.json in the classpath, otherwise an exception will be thrown.

戻り値
a new instance
例外
RuntimeExceptionin case there is no keycloak.json file in the classpath or the file could not be parsed
53  {
54  InputStream configStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("keycloak.json");
55 
56  if (configStream == null) {
57  throw new RuntimeException("Could not find any keycloak.json file in classpath.");
58  }
59 
60  try {
61  return create(JsonSerialization.readValue(configStream, Configuration.class));
62  } catch (IOException e) {
63  throw new RuntimeException("Could not parse configuration.", e);
64  }
65  }
static AuthzClient create()
Definition: AuthzClient.java:53

◆ create() [2/3]

static AuthzClient org.keycloak.authorization.client.AuthzClient.create ( Configuration  configuration)
inlinestatic

Creates a new instance.

引数
configurationthe client configuration
戻り値
a new instance
73  {
75  }
ClientAuthenticator getClientAuthenticator()
Definition: Configuration.java:69
final Configuration configuration
Definition: AuthzClient.java:89
AuthzClient(Configuration configuration, ClientAuthenticator authenticator)
Definition: AuthzClient.java:220

◆ create() [3/3]

static AuthzClient org.keycloak.authorization.client.AuthzClient.create ( Configuration  configuration,
ClientAuthenticator  authenticator 
)
inlinestatic

Creates a new instance.

引数
configurationthe client configuration
authenticatorthe client authenticator
戻り値
a new instance
84  {
85  return new AuthzClient(configuration, authenticator);
86  }
final Configuration configuration
Definition: AuthzClient.java:89
AuthzClient(Configuration configuration, ClientAuthenticator authenticator)
Definition: AuthzClient.java:220

◆ createPatSupplier() [1/2]

TokenCallable org.keycloak.authorization.client.AuthzClient.createPatSupplier ( String  userName,
String  password 
)
inlineprivate
248  {
249  if (patSupplier == null) {
251  }
252  return patSupplier;
253  }
TokenCallable patSupplier
Definition: AuthzClient.java:43
TokenCallable createRefreshableAccessTokenSupplier(final String userName, final String password)
Definition: AuthzClient.java:259

◆ createPatSupplier() [2/2]

TokenCallable org.keycloak.authorization.client.AuthzClient.createPatSupplier ( )
inlineprivate
255  {
256  return createPatSupplier(null, null);
257  }
TokenCallable createPatSupplier()
Definition: AuthzClient.java:255

◆ createRefreshableAccessTokenSupplier()

TokenCallable org.keycloak.authorization.client.AuthzClient.createRefreshableAccessTokenSupplier ( final String  userName,
final String  password 
)
inlineprivate
259  {
260  return new TokenCallable(userName, password, http, configuration, serverConfiguration);
261  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
final Configuration configuration
Definition: AuthzClient.java:89
final Http http
Definition: AuthzClient.java:42

◆ getConfiguration()

Configuration org.keycloak.authorization.client.AuthzClient.getConfiguration ( )
inline

Obtains the client configuration

戻り値
the Configuration
216  {
217  return this.configuration;
218  }
final Configuration configuration
Definition: AuthzClient.java:89

◆ getServerConfiguration()

ServerConfiguration org.keycloak.authorization.client.AuthzClient.getServerConfiguration ( )
inline

Returns the configuration obtained from the server at the UMA Discovery Endpoint.

戻り値
the ServerConfiguration
207  {
208  return this.serverConfiguration;
209  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88

◆ obtainAccessToken() [1/2]

AccessTokenResponse org.keycloak.authorization.client.AuthzClient.obtainAccessToken ( )
inline

Obtains an access token using the client credentials.

戻り値
an AccessTokenResponse
179  {
180  return this.http.<AccessTokenResponse>post(this.serverConfiguration.getTokenEndpoint())
181  .authentication()
182  .client()
183  .response()
184  .json(AccessTokenResponse.class)
185  .execute();
186  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
final Http http
Definition: AuthzClient.java:42
String getTokenEndpoint()
Definition: ServerConfiguration.java:117

◆ obtainAccessToken() [2/2]

AccessTokenResponse org.keycloak.authorization.client.AuthzClient.obtainAccessToken ( String  userName,
String  password 
)
inline

Obtains an access token using the resource owner credentials.

戻り値
an AccessTokenResponse
193  {
194  return this.http.<AccessTokenResponse>post(this.serverConfiguration.getTokenEndpoint())
195  .authentication()
196  .oauth2ResourceOwnerPassword(userName, password)
197  .response()
198  .json(AccessTokenResponse.class)
199  .execute();
200  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
final Http http
Definition: AuthzClient.java:42
String getTokenEndpoint()
Definition: ServerConfiguration.java:117

◆ protection() [1/3]

ProtectionResource org.keycloak.authorization.client.AuthzClient.protection ( )
inline

Creates a ProtectionResource instance which can be used to access the Protection API.

When using this method, the PAT (the access token with the uma_protection scope) is obtained for the client itself, using any of the supported credential types (client/secret, jwt, etc).

戻り値
a ProtectionResource
99  {
100  return new ProtectionResource(this.http, this.serverConfiguration, configuration, createPatSupplier());
101  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
final Configuration configuration
Definition: AuthzClient.java:89
TokenCallable createPatSupplier()
Definition: AuthzClient.java:255
final Http http
Definition: AuthzClient.java:42

◆ protection() [2/3]

ProtectionResource org.keycloak.authorization.client.AuthzClient.protection ( final String  accessToken)
inline

Creates a ProtectionResource instance which can be used to access the Protection API.

引数
accessTokenthe PAT (the access token with the uma_protection scope)
戻り値
a ProtectionResource
109  {
110  return new ProtectionResource(this.http, this.serverConfiguration, configuration, new TokenCallable(http, configuration, serverConfiguration) {
111  @Override
112  public String call() {
113  return accessToken;
114  }
115 
116  @Override
117  protected boolean isRetry() {
118  return false;
119  }
120  });
121  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
final Configuration configuration
Definition: AuthzClient.java:89
final Http http
Definition: AuthzClient.java:42

◆ protection() [3/3]

ProtectionResource org.keycloak.authorization.client.AuthzClient.protection ( String  userName,
String  password 
)
inline

Creates a ProtectionResource instance which can be used to access the Protection API.

When using this method, the PAT (the access token with the uma_protection scope) is obtained for a given user.

戻り値
a ProtectionResource
130  {
131  return new ProtectionResource(this.http, this.serverConfiguration, configuration, createPatSupplier(userName, password));
132  }
final ServerConfiguration serverConfiguration
Definition: AuthzClient.java:88
final Configuration configuration
Definition: AuthzClient.java:89
TokenCallable createPatSupplier()
Definition: AuthzClient.java:255
final Http http
Definition: AuthzClient.java:42

メンバ詳解

◆ configuration

final Configuration org.keycloak.authorization.client.AuthzClient.configuration
private

◆ http

final Http org.keycloak.authorization.client.AuthzClient.http
private

◆ patSupplier

TokenCallable org.keycloak.authorization.client.AuthzClient.patSupplier
private

◆ serverConfiguration

final ServerConfiguration org.keycloak.authorization.client.AuthzClient.serverConfiguration
private

このクラス詳解は次のファイルから抽出されました: