keycloak-service
静的公開メンバ関数 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.keys.loader.PublicKeyStorageManager クラス
org.keycloak.keys.loader.PublicKeyStorageManager 連携図
Collaboration graph

静的公開メンバ関数

static PublicKey getClientPublicKey (KeycloakSession session, ClientModel client, JWSInput input)
 
static PublicKey getIdentityProviderPublicKey (KeycloakSession session, RealmModel realm, OIDCIdentityProviderConfig idpConfig, JWSInput input)
 

静的非公開変数類

static final Logger logger = Logger.getLogger(PublicKeyStorageManager.class)
 

詳解

著者
Marek Posolda

関数詳解

◆ getClientPublicKey()

static PublicKey org.keycloak.keys.loader.PublicKeyStorageManager.getClientPublicKey ( KeycloakSession  session,
ClientModel  client,
JWSInput  input 
)
inlinestatic
39  {
40  String kid = input.getHeader().getKeyId();
41 
42  PublicKeyStorageProvider keyStorage = session.getProvider(PublicKeyStorageProvider.class);
43 
44  String modelKey = PublicKeyStorageUtils.getClientModelCacheKey(client.getRealm().getId(), client.getId());
45  ClientPublicKeyLoader loader = new ClientPublicKeyLoader(session, client);
46  return keyStorage.getPublicKey(modelKey, kid, loader);
47  }

◆ getIdentityProviderPublicKey()

static PublicKey org.keycloak.keys.loader.PublicKeyStorageManager.getIdentityProviderPublicKey ( KeycloakSession  session,
RealmModel  realm,
OIDCIdentityProviderConfig  idpConfig,
JWSInput  input 
)
inlinestatic
50  {
51  boolean keyIdSetInConfiguration = idpConfig.getPublicKeySignatureVerifierKeyId() != null
52  && ! idpConfig.getPublicKeySignatureVerifierKeyId().trim().isEmpty();
53 
54  String kid = input.getHeader().getKeyId();
55 
56  PublicKeyStorageProvider keyStorage = session.getProvider(PublicKeyStorageProvider.class);
57 
58  String modelKey = PublicKeyStorageUtils.getIdpModelCacheKey(realm.getId(), idpConfig.getInternalId());
59  PublicKeyLoader loader;
60  if (idpConfig.isUseJwksUrl()) {
61  loader = new OIDCIdentityProviderPublicKeyLoader(session, idpConfig);
62  } else {
63  String pem = idpConfig.getPublicKeySignatureVerifier();
64 
65  if (pem == null || pem.trim().isEmpty()) {
66  logger.warnf("No public key saved on identityProvider %s", idpConfig.getAlias());
67  return null;
68  }
69 
70  loader = new HardcodedPublicKeyLoader(
71  keyIdSetInConfiguration
72  ? idpConfig.getPublicKeySignatureVerifierKeyId().trim()
73  : kid, pem);
74  }
75 
76  return keyStorage.getPublicKey(modelKey, kid, loader);
77  }
static final Logger logger
Definition: PublicKeyStorageManager.java:37

メンバ詳解

◆ logger

final Logger org.keycloak.keys.loader.PublicKeyStorageManager.logger = Logger.getLogger(PublicKeyStorageManager.class)
staticprivate

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