keycloak
公開メンバ関数 | 静的公開メンバ関数 | 静的関数 | 非公開メンバ関数 | 全メンバ一覧
org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation クラス
org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation の継承関係図
Inheritance graph
org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation 連携図
Collaboration graph

公開メンバ関数

Response generateInstallation (KeycloakSession session, RealmModel realm, ClientModel client, URI baseUri)
 
String getProtocol ()
 
String getDisplayType ()
 
String getHelpText ()
 
void close ()
 
ClientInstallationProvider create (KeycloakSession session)
 
void init (Config.Scope config)
 
void postInit (KeycloakSessionFactory factory)
 
String getId ()
 
boolean isDownloadOnly ()
 
String getFilename ()
 
String getMediaType ()
 
default int order ()
 

静的公開メンバ関数

static Map< String, Object > getClientCredentialsAdapterConfig (KeycloakSession session, ClientModel client)
 
static boolean showClientCredentialsAdapterConfig (ClientModel client)
 

静的関数

static boolean showVerifyTokenAudience (ClientModel client)
 

非公開メンバ関数

void configureAuthorizationSettings (KeycloakSession session, ClientModel client, ClientManager.InstallationAdapterConfig rep)
 

詳解

著者
Bill Burke
バージョン
Revision
1

関数詳解

◆ close()

void org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.close ( )
inline

org.keycloak.provider.Providerを実装しています。

140  {
141 
142  }

◆ configureAuthorizationSettings()

void org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.configureAuthorizationSettings ( KeycloakSession  session,
ClientModel  client,
ClientManager.InstallationAdapterConfig  rep 
)
inlineprivate
179  {
180  if (new AuthorizationService(session, client, null, null).isEnabled()) {
181  PolicyEnforcerConfig enforcerConfig = new PolicyEnforcerConfig();
182 
183  enforcerConfig.setEnforcementMode(null);
184  enforcerConfig.setLazyLoadPaths(null);
185 
186  rep.setEnforcerConfig(enforcerConfig);
187 
188  Set<RoleModel> clientRoles = client.getRoles();
189 
190  if (clientRoles.size() == 1) {
191  if (clientRoles.iterator().next().getName().equals(Constants.AUTHZ_UMA_PROTECTION)) {
192  rep.setUseResourceRoleMappings(null);
193  }
194  }
195  }
196  }

◆ create()

ClientInstallationProvider org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.create ( KeycloakSession  session)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

145  {
146  return this;
147  }

◆ generateInstallation()

Response org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.generateInstallation ( KeycloakSession  session,
RealmModel  realm,
ClientModel  client,
URI  baseUri 
)
inline

org.keycloak.protocol.ClientInstallationProviderを実装しています。

54  {
55  ClientManager.InstallationAdapterConfig rep = new ClientManager.InstallationAdapterConfig();
56  rep.setAuthServerUrl(baseUri.toString());
57  rep.setRealm(realm.getName());
58  rep.setSslRequired(realm.getSslRequired().name().toLowerCase());
59 
60  if (client.isPublicClient() && !client.isBearerOnly()) rep.setPublicClient(true);
61  if (client.isBearerOnly()) rep.setBearerOnly(true);
62  if (client.getRoles().size() > 0) rep.setUseResourceRoleMappings(true);
63 
64  rep.setResource(client.getClientId());
65 
67  Map<String, Object> adapterConfig = getClientCredentialsAdapterConfig(session, client);
68  rep.setCredentials(adapterConfig);
69  }
70 
71  if (showVerifyTokenAudience(client)) {
72  rep.setVerifyTokenAudience(true);
73  }
74 
75  configureAuthorizationSettings(session, client, rep);
76 
77  String json = null;
78  try {
79  json = JsonSerialization.writeValueAsPrettyString(rep);
80  } catch (IOException e) {
81  throw new RuntimeException(e);
82  }
83  return Response.ok(json, MediaType.TEXT_PLAIN_TYPE).build();
84  }
static boolean showVerifyTokenAudience(ClientModel client)
Definition: KeycloakOIDCClientInstallation.java:107
static Map< String, Object > getClientCredentialsAdapterConfig(KeycloakSession session, ClientModel client)
Definition: KeycloakOIDCClientInstallation.java:86
void configureAuthorizationSettings(KeycloakSession session, ClientModel client, ClientManager.InstallationAdapterConfig rep)
Definition: KeycloakOIDCClientInstallation.java:179
static boolean showClientCredentialsAdapterConfig(ClientModel client)
Definition: KeycloakOIDCClientInstallation.java:93

◆ getClientCredentialsAdapterConfig()

static Map<String, Object> org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.getClientCredentialsAdapterConfig ( KeycloakSession  session,
ClientModel  client 
)
inlinestatic
86  {
87  String clientAuthenticator = client.getClientAuthenticatorType();
88  ClientAuthenticatorFactory authenticator = (ClientAuthenticatorFactory) session.getKeycloakSessionFactory().getProviderFactory(ClientAuthenticator.class, clientAuthenticator);
89  return authenticator.getAdapterConfiguration(client);
90  }

◆ getDisplayType()

String org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.getDisplayType ( )
inline

org.keycloak.protocol.ClientInstallationProviderを実装しています。

130  {
131  return "Keycloak OIDC JSON";
132  }

◆ getFilename()

String org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.getFilename ( )
inline

org.keycloak.protocol.ClientInstallationProviderを実装しています。

170  {
171  return "keycloak.json";
172  }

◆ getHelpText()

String org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.getHelpText ( )
inline

org.keycloak.protocol.ClientInstallationProviderを実装しています。

135  {
136  return "keycloak.json file used by the Keycloak OIDC client adapter to configure clients. This must be saved to a keycloak.json file and put in your WEB-INF directory of your WAR file. You may also want to tweak this file after you download it.";
137  }

◆ getId()

String org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.getId ( )
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

160  {
161  return "keycloak-oidc-keycloak-json";
162  }

◆ getMediaType()

String org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.getMediaType ( )
inline

org.keycloak.protocol.ClientInstallationProviderを実装しています。

175  {
176  return MediaType.APPLICATION_JSON;
177  }

◆ getProtocol()

String org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.getProtocol ( )
inline

org.keycloak.protocol.ClientInstallationProviderを実装しています。

125  {
126  return OIDCLoginProtocol.LOGIN_PROTOCOL;
127  }

◆ init()

void org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.init ( Config.Scope  config)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

150  {
151 
152  }

◆ isDownloadOnly()

boolean org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.isDownloadOnly ( )
inline

org.keycloak.protocol.ClientInstallationProviderを実装しています。

165  {
166  return false;
167  }

◆ order()

default int org.keycloak.provider.ProviderFactory< T extends Provider >.order ( )
inlineinherited

◆ postInit()

void org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.postInit ( KeycloakSessionFactory  factory)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

155  {
156 
157  }

◆ showClientCredentialsAdapterConfig()

static boolean org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.showClientCredentialsAdapterConfig ( ClientModel  client)
inlinestatic
93  {
94  if (client.isPublicClient()) {
95  return false;
96  }
97 
98  if (client.isBearerOnly() && !client.isServiceAccountsEnabled() && client.getNodeReRegistrationTimeout() <= 0) {
99  return false;
100  }
101 
102  return true;
103  }

◆ showVerifyTokenAudience()

static boolean org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation.showVerifyTokenAudience ( ClientModel  client)
inlinestaticpackage
107  {
108  String clientId = client.getClientId();
109  ClientScopeModel clientScope = KeycloakModelUtils.getClientScopeByName(client.getRealm(), clientId);
110  if (clientScope == null) {
111  return false;
112  }
113 
114  for (ProtocolMapperModel protocolMapper : clientScope.getProtocolMappers()) {
115  if (AudienceProtocolMapper.PROVIDER_ID.equals(protocolMapper.getProtocolMapper()) && (clientId.equals(protocolMapper.getConfig().get(AudienceProtocolMapper.INCLUDED_CLIENT_AUDIENCE)))) {
116  return true;
117  }
118  }
119 
120  return false;
121  }

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