keycloak
静的公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.adapters.KeycloakDeploymentBuilder クラス
org.keycloak.adapters.KeycloakDeploymentBuilder 連携図
Collaboration graph

静的公開メンバ関数

static KeycloakDeployment build (InputStream is)
 
static AdapterConfig loadAdapterConfig (InputStream is)
 
static KeycloakDeployment build (AdapterConfig adapterConfig)
 

限定公開メンバ関数

 KeycloakDeploymentBuilder ()
 
KeycloakDeployment internalBuild (AdapterConfig adapterConfig)
 

限定公開変数類

KeycloakDeployment deployment = new KeycloakDeployment()
 

静的非公開変数類

static final Logger log = Logger.getLogger(KeycloakDeploymentBuilder.class)
 

詳解

著者
Bill Burke
Brad Culley
John D. Ament
バージョン
Revision
1

構築子と解体子

◆ KeycloakDeploymentBuilder()

org.keycloak.adapters.KeycloakDeploymentBuilder.KeycloakDeploymentBuilder ( )
inlineprotected
50  {
51  }

関数詳解

◆ build() [1/2]

static KeycloakDeployment org.keycloak.adapters.KeycloakDeploymentBuilder.build ( InputStream  is)
inlinestatic
150  {
151  AdapterConfig adapterConfig = loadAdapterConfig(is);
152  return new KeycloakDeploymentBuilder().internalBuild(adapterConfig);
153  }
static AdapterConfig loadAdapterConfig(InputStream is)
Definition: KeycloakDeploymentBuilder.java:155
KeycloakDeploymentBuilder()
Definition: KeycloakDeploymentBuilder.java:50

◆ build() [2/2]

static KeycloakDeployment org.keycloak.adapters.KeycloakDeploymentBuilder.build ( AdapterConfig  adapterConfig)
inlinestatic
168  {
169  return new KeycloakDeploymentBuilder().internalBuild(adapterConfig);
170  }
KeycloakDeploymentBuilder()
Definition: KeycloakDeploymentBuilder.java:50

◆ internalBuild()

KeycloakDeployment org.keycloak.adapters.KeycloakDeploymentBuilder.internalBuild ( AdapterConfig  adapterConfig)
inlineprotected
54  {
55  if (adapterConfig.getRealm() == null) throw new RuntimeException("Must set 'realm' in config");
56  deployment.setRealm(adapterConfig.getRealm());
57  String resource = adapterConfig.getResource();
58  if (resource == null) throw new RuntimeException("Must set 'resource' in config");
59  deployment.setResourceName(resource);
60 
61  String realmKeyPem = adapterConfig.getRealmKey();
62  if (realmKeyPem != null) {
63  PublicKey realmKey;
64  try {
65  realmKey = PemUtils.decodePublicKey(realmKeyPem);
66  HardcodedPublicKeyLocator pkLocator = new HardcodedPublicKeyLocator(realmKey);
68  } catch (Exception e) {
69  throw new RuntimeException(e);
70  }
71  } else {
72  JWKPublicKeyLocator pkLocator = new JWKPublicKeyLocator();
74  }
75 
76  if (adapterConfig.getSslRequired() != null) {
77  deployment.setSslRequired(SslRequired.valueOf(adapterConfig.getSslRequired().toUpperCase()));
78  } else {
79  deployment.setSslRequired(SslRequired.EXTERNAL);
80  }
81 
82  if (adapterConfig.getConfidentialPort() != -1) {
83  deployment.setConfidentialPort(adapterConfig.getConfidentialPort());
84  }
85 
86  if (adapterConfig.getTokenStore() != null) {
87  deployment.setTokenStore(TokenStore.valueOf(adapterConfig.getTokenStore().toUpperCase()));
88  } else {
89  deployment.setTokenStore(TokenStore.SESSION);
90  }
91  if (adapterConfig.getPrincipalAttribute() != null) deployment.setPrincipalAttribute(adapterConfig.getPrincipalAttribute());
92 
93  deployment.setResourceCredentials(adapterConfig.getCredentials());
94  deployment.setClientAuthenticator(ClientCredentialsProviderUtils.bootstrapClientAuthenticator(deployment));
95 
96  deployment.setPublicClient(adapterConfig.isPublicClient());
97  deployment.setUseResourceRoleMappings(adapterConfig.isUseResourceRoleMappings());
98 
99  deployment.setExposeToken(adapterConfig.isExposeToken());
100 
101  if (adapterConfig.isCors()) {
102  deployment.setCors(true);
103  deployment.setCorsMaxAge(adapterConfig.getCorsMaxAge());
104  deployment.setCorsAllowedHeaders(adapterConfig.getCorsAllowedHeaders());
105  deployment.setCorsAllowedMethods(adapterConfig.getCorsAllowedMethods());
106  deployment.setCorsExposedHeaders(adapterConfig.getCorsExposedHeaders());
107  }
108 
109  // https://tools.ietf.org/html/rfc7636
110  if (adapterConfig.isPkce()) {
111  deployment.setPkce(true);
112  }
113 
114  deployment.setBearerOnly(adapterConfig.isBearerOnly());
115  deployment.setAutodetectBearerOnly(adapterConfig.isAutodetectBearerOnly());
116  deployment.setEnableBasicAuth(adapterConfig.isEnableBasicAuth());
117  deployment.setAlwaysRefreshToken(adapterConfig.isAlwaysRefreshToken());
118  deployment.setRegisterNodeAtStartup(adapterConfig.isRegisterNodeAtStartup());
119  deployment.setRegisterNodePeriod(adapterConfig.getRegisterNodePeriod());
120  deployment.setTokenMinimumTimeToLive(adapterConfig.getTokenMinimumTimeToLive());
121  deployment.setMinTimeBetweenJwksRequests(adapterConfig.getMinTimeBetweenJwksRequests());
122  deployment.setPublicKeyCacheTtl(adapterConfig.getPublicKeyCacheTtl());
123  deployment.setIgnoreOAuthQueryParameter(adapterConfig.isIgnoreOAuthQueryParameter());
124  deployment.setRewriteRedirectRules(adapterConfig.getRedirectRewriteRules());
125 
126  if (realmKeyPem == null && adapterConfig.isBearerOnly() && adapterConfig.getAuthServerUrl() == null) {
127  throw new IllegalArgumentException("For bearer auth, you must set the realm-public-key or auth-server-url");
128  }
130  deployment.setClient(new HttpClientBuilder().build(adapterConfig));
131  }
132  if (adapterConfig.getAuthServerUrl() == null && (!deployment.isBearerOnly() || realmKeyPem == null)) {
133  throw new RuntimeException("You must specify auth-server-url");
134  }
135  deployment.setAuthServerBaseUrl(adapterConfig);
136  if (adapterConfig.getTurnOffChangeSessionIdOnLogin() != null) {
137  deployment.setTurnOffChangeSessionIdOnLogin(adapterConfig.getTurnOffChangeSessionIdOnLogin());
138  }
139 
140  PolicyEnforcerConfig policyEnforcerConfig = adapterConfig.getPolicyEnforcerConfig();
141 
142  if (policyEnforcerConfig != null) {
143  deployment.setPolicyEnforcer(new PolicyEnforcer(deployment, adapterConfig));
144  }
145 
146  log.debug("Use authServerUrl: " + deployment.getAuthServerBaseUrl() + ", tokenUrl: " + deployment.getTokenUrl() + ", relativeUrls: " + deployment.getRelativeUrls());
147  return deployment;
148  }
void setRealm(String realm)
Definition: KeycloakDeployment.java:115
void setTokenMinimumTimeToLive(final int tokenMinimumTimeToLive)
Definition: KeycloakDeployment.java:420
static final Logger log
Definition: KeycloakDeploymentBuilder.java:46
void setCorsAllowedHeaders(String corsAllowedHeaders)
Definition: KeycloakDeployment.java:335
void setTurnOffChangeSessionIdOnLogin(boolean turnOffChangeSessionIdOnLogin)
Definition: KeycloakDeployment.java:412
void setCorsExposedHeaders(String corsExposedHeaders)
Definition: KeycloakDeployment.java:351
void setUseResourceRoleMappings(boolean useResourceRoleMappings)
Definition: KeycloakDeployment.java:311
String getTokenUrl()
Definition: KeycloakDeployment.java:183
void setMinTimeBetweenJwksRequests(int minTimeBetweenJwksRequests)
Definition: KeycloakDeployment.java:428
void setPublicKeyLocator(PublicKeyLocator publicKeyLocator)
Definition: KeycloakDeployment.java:123
void setEnableBasicAuth(boolean enableBasicAuth)
Definition: KeycloakDeployment.java:231
void setPrincipalAttribute(String principalAttribute)
Definition: KeycloakDeployment.java:404
void setPublicClient(boolean publicClient)
Definition: KeycloakDeployment.java:239
void setPublicKeyCacheTtl(int publicKeyCacheTtl)
Definition: KeycloakDeployment.java:436
KeycloakDeployment deployment
Definition: KeycloakDeploymentBuilder.java:48
void setResourceCredentials(Map< String, Object > resourceCredentials)
Definition: KeycloakDeployment.java:247
void setExposeToken(boolean exposeToken)
Definition: KeycloakDeployment.java:359
void setRewriteRedirectRules(Map< String, String > redirectRewriteRules)
Definition: KeycloakDeployment.java:469
void setCorsMaxAge(int corsMaxAge)
Definition: KeycloakDeployment.java:327
RelativeUrlsUsed getRelativeUrls()
Definition: KeycloakDeployment.java:171
boolean isRegisterNodeAtStartup()
Definition: KeycloakDeployment.java:384
void setTokenStore(TokenStore tokenStore)
Definition: KeycloakDeployment.java:295
static KeycloakDeployment build(InputStream is)
Definition: KeycloakDeploymentBuilder.java:150
void setPkce(boolean pkce)
Definition: KeycloakDeployment.java:453
void setConfidentialPort(int confidentialPort)
Definition: KeycloakDeployment.java:287
void setPolicyEnforcer(PolicyEnforcer policyEnforcer)
Definition: KeycloakDeployment.java:440
void setCors(boolean cors)
Definition: KeycloakDeployment.java:319
String getAuthServerBaseUrl()
Definition: KeycloakDeployment.java:127
void setAuthServerBaseUrl(AdapterConfig config)
Definition: KeycloakDeployment.java:131
int getRegisterNodePeriod()
Definition: KeycloakDeployment.java:392
void setClientAuthenticator(ClientCredentialsProvider clientAuthenticator)
Definition: KeycloakDeployment.java:255
void setClient(HttpClient client)
Definition: KeycloakDeployment.java:263
void setAutodetectBearerOnly(boolean autodetectBearerOnly)
Definition: KeycloakDeployment.java:223
void setResourceName(String resourceName)
Definition: KeycloakDeployment.java:207
void setSslRequired(SslRequired sslRequired)
Definition: KeycloakDeployment.java:279
void setCorsAllowedMethods(String corsAllowedMethods)
Definition: KeycloakDeployment.java:343
boolean isEnableBasicAuth()
Definition: KeycloakDeployment.java:227
void setIgnoreOAuthQueryParameter(boolean ignoreOAuthQueryParameter)
Definition: KeycloakDeployment.java:457
void setRegisterNodePeriod(int registerNodePeriod)
Definition: KeycloakDeployment.java:396
void setBearerOnly(boolean bearerOnly)
Definition: KeycloakDeployment.java:215
void setRegisterNodeAtStartup(boolean registerNodeAtStartup)
Definition: KeycloakDeployment.java:388
boolean isBearerOnly()
Definition: KeycloakDeployment.java:211
void setAlwaysRefreshToken(boolean alwaysRefreshToken)
Definition: KeycloakDeployment.java:380

◆ loadAdapterConfig()

static AdapterConfig org.keycloak.adapters.KeycloakDeploymentBuilder.loadAdapterConfig ( InputStream  is)
inlinestatic
155  {
156  ObjectMapper mapper = new ObjectMapper(new SystemPropertiesJsonParserFactory());
157  mapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT);
158  AdapterConfig adapterConfig;
159  try {
160  adapterConfig = mapper.readValue(is, AdapterConfig.class);
161  } catch (IOException e) {
162  throw new RuntimeException(e);
163  }
164  return adapterConfig;
165  }

メンバ詳解

◆ deployment

KeycloakDeployment org.keycloak.adapters.KeycloakDeploymentBuilder.deployment = new KeycloakDeployment()
protected

◆ log

final Logger org.keycloak.adapters.KeycloakDeploymentBuilder.log = Logger.getLogger(KeycloakDeploymentBuilder.class)
staticprivate

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