keycloak-service
公開メンバ関数 | 限定公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.keys.loader.OIDCIdentityProviderPublicKeyLoader クラス
org.keycloak.keys.loader.OIDCIdentityProviderPublicKeyLoader の継承関係図
Inheritance graph
org.keycloak.keys.loader.OIDCIdentityProviderPublicKeyLoader 連携図
Collaboration graph

公開メンバ関数

 OIDCIdentityProviderPublicKeyLoader (KeycloakSession session, OIDCIdentityProviderConfig config)
 
Map< String, PublicKey > loadKeys () throws Exception
 

限定公開メンバ関数

PublicKey getSavedPublicKey () throws Exception
 

非公開変数類

final KeycloakSession session
 
final OIDCIdentityProviderConfig config
 

静的非公開変数類

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

詳解

著者
Marek Posolda

構築子と解体子

◆ OIDCIdentityProviderPublicKeyLoader()

org.keycloak.keys.loader.OIDCIdentityProviderPublicKeyLoader.OIDCIdentityProviderPublicKeyLoader ( KeycloakSession  session,
OIDCIdentityProviderConfig  config 
)
inline
45  {
46  this.session = session;
47  this.config = config;
48  }
final OIDCIdentityProviderConfig config
Definition: OIDCIdentityProviderPublicKeyLoader.java:43
final KeycloakSession session
Definition: OIDCIdentityProviderPublicKeyLoader.java:42

関数詳解

◆ getSavedPublicKey()

PublicKey org.keycloak.keys.loader.OIDCIdentityProviderPublicKeyLoader.getSavedPublicKey ( ) throws Exception
inlineprotected
75  {
76  if (config.getPublicKeySignatureVerifier() != null && !config.getPublicKeySignatureVerifier().trim().equals("")) {
77  return PemUtils.decodePublicKey(config.getPublicKeySignatureVerifier());
78  } else {
79  logger.warnf("No public key saved on identityProvider %s", config.getAlias());
80  return null;
81  }
82  }
final OIDCIdentityProviderConfig config
Definition: OIDCIdentityProviderPublicKeyLoader.java:43
static final Logger logger
Definition: OIDCIdentityProviderPublicKeyLoader.java:40
String getPublicKeySignatureVerifier()
Definition: OIDCIdentityProviderConfig.java:56

◆ loadKeys()

Map<String, PublicKey> org.keycloak.keys.loader.OIDCIdentityProviderPublicKeyLoader.loadKeys ( ) throws Exception
inline
51  {
52  if (config.isUseJwksUrl()) {
53  String jwksUrl = config.getJwksUrl();
54  JSONWebKeySet jwks = JWKSHttpUtils.sendJwksRequest(session, jwksUrl);
55  return JWKSUtils.getKeysForUse(jwks, JWK.Use.SIG);
56  } else {
57  try {
58  PublicKey publicKey = getSavedPublicKey();
59  if (publicKey == null) {
60  return Collections.emptyMap();
61  }
62 
63  String presetKeyId = config.getPublicKeySignatureVerifierKeyId();
64  String kid = (presetKeyId == null || presetKeyId.trim().isEmpty())
65  ? KeyUtils.createKeyId(publicKey)
66  : presetKeyId;
67  return Collections.singletonMap(kid, publicKey);
68  } catch (Exception e) {
69  logger.warnf(e, "Unable to retrieve publicKey for verify signature of identityProvider '%s' . Error details: %s", config.getAlias(), e.getMessage());
70  return Collections.emptyMap();
71  }
72  }
73  }
String getJwksUrl()
Definition: OIDCIdentityProviderConfig.java:88
final OIDCIdentityProviderConfig config
Definition: OIDCIdentityProviderPublicKeyLoader.java:43
PublicKey getSavedPublicKey()
Definition: OIDCIdentityProviderPublicKeyLoader.java:75
String getPublicKeySignatureVerifierKeyId()
Definition: OIDCIdentityProviderConfig.java:64
boolean isUseJwksUrl()
Definition: OIDCIdentityProviderConfig.java:80
static final Logger logger
Definition: OIDCIdentityProviderPublicKeyLoader.java:40
final KeycloakSession session
Definition: OIDCIdentityProviderPublicKeyLoader.java:42

メンバ詳解

◆ config

final OIDCIdentityProviderConfig org.keycloak.keys.loader.OIDCIdentityProviderPublicKeyLoader.config
private

◆ logger

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

◆ session

final KeycloakSession org.keycloak.keys.loader.OIDCIdentityProviderPublicKeyLoader.session
private

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