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

公開メンバ関数

GeneratedHmacKeyProvider create (KeycloakSession session, ComponentModel model)
 
boolean createFallbackKeys (KeycloakSession session, KeyUse keyUse, String algorithm)
 
String getHelpText ()
 
List< ProviderConfigProperty > getConfigProperties ()
 
String getId ()
 
void validateConfiguration (KeycloakSession session, RealmModel realm, ComponentModel model) throws ComponentValidationException
 

静的公開変数類

static final String ID = "hmac-generated"
 
static final int DEFAULT_HMAC_KEY_SIZE = 64
 

限定公開メンバ関数

Logger logger ()
 
int getDefaultKeySize ()
 

静的非公開変数類

static final Logger logger = Logger.getLogger(GeneratedHmacKeyProviderFactory.class)
 
static final String HELP_TEXT = "Generates HMAC secret key"
 
static final List< ProviderConfigProperty > CONFIG_PROPERTIES
 

詳解

著者
Stian Thorgersen

関数詳解

◆ create()

GeneratedHmacKeyProvider org.keycloak.keys.GeneratedHmacKeyProviderFactory.create ( KeycloakSession  session,
ComponentModel  model 
)
inline
50  {
51  return new GeneratedHmacKeyProvider(model);
52  }

◆ createFallbackKeys()

boolean org.keycloak.keys.GeneratedHmacKeyProviderFactory.createFallbackKeys ( KeycloakSession  session,
KeyUse  keyUse,
String  algorithm 
)
inline
55  {
56  if (keyUse.equals(KeyUse.SIG) && (algorithm.equals(Algorithm.HS256) || algorithm.equals(Algorithm.HS384) || algorithm.equals(Algorithm.HS512))) {
57  RealmModel realm = session.getContext().getRealm();
58 
59  ComponentModel generated = new ComponentModel();
60  generated.setName("fallback-" + algorithm);
61  generated.setParentId(realm.getId());
62  generated.setProviderId(ID);
63  generated.setProviderType(KeyProvider.class.getName());
64 
65  MultivaluedHashMap<String, String> config = new MultivaluedHashMap<>();
66  config.putSingle(Attributes.PRIORITY_KEY, "-100");
67  config.putSingle(Attributes.ALGORITHM_KEY, algorithm);
68  generated.setConfig(config);
69 
70  realm.addComponentModel(generated);
71 
72  return true;
73  } else {
74  return false;
75  }
76  }
static final String ID
Definition: GeneratedHmacKeyProviderFactory.java:38

◆ getConfigProperties()

List<ProviderConfigProperty> org.keycloak.keys.GeneratedHmacKeyProviderFactory.getConfigProperties ( )
inline
84  {
85  return CONFIG_PROPERTIES;
86  }
static final List< ProviderConfigProperty > CONFIG_PROPERTIES
Definition: GeneratedHmacKeyProviderFactory.java:44

◆ getDefaultKeySize()

int org.keycloak.keys.GeneratedHmacKeyProviderFactory.getDefaultKeySize ( )
inlineprotected
99  {
100  return DEFAULT_HMAC_KEY_SIZE;
101  }
static final int DEFAULT_HMAC_KEY_SIZE
Definition: GeneratedHmacKeyProviderFactory.java:42

◆ getHelpText()

String org.keycloak.keys.GeneratedHmacKeyProviderFactory.getHelpText ( )
inline
79  {
80  return HELP_TEXT;
81  }
static final String HELP_TEXT
Definition: GeneratedHmacKeyProviderFactory.java:40

◆ getId()

String org.keycloak.keys.GeneratedHmacKeyProviderFactory.getId ( )
inline
89  {
90  return ID;
91  }
static final String ID
Definition: GeneratedHmacKeyProviderFactory.java:38

◆ logger()

Logger org.keycloak.keys.GeneratedHmacKeyProviderFactory.logger ( )
inlineprotected
94  {
95  return logger;
96  }
Logger logger()
Definition: GeneratedHmacKeyProviderFactory.java:94

◆ validateConfiguration()

void org.keycloak.keys.AbstractGeneratedSecretKeyProviderFactory< T extends KeyProvider >.validateConfiguration ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  model 
) throws ComponentValidationException
inlineinherited
35  {
36  ConfigurationValidationHelper validation = SecretKeyProviderUtils.validateConfiguration(model);
37  validation.checkList(Attributes.SECRET_SIZE_PROPERTY, false);
38 
39  int size = model.get(Attributes.SECRET_SIZE_KEY, getDefaultKeySize());
40 
41  if (!(model.contains(Attributes.SECRET_KEY))) {
42  generateSecret(model, size);
43  logger().debugv("Generated secret for {0}", realm.getName());
44  } else {
45  int currentSize = Base64Url.decode(model.get(Attributes.SECRET_KEY)).length;
46  if (currentSize != size) {
47  generateSecret(model, size);
48  logger().debugv("Secret size changed, generating new secret for {0}", realm.getName());
49  }
50  }
51  }
void generateSecret(ComponentModel model, int size)
Definition: AbstractGeneratedSecretKeyProviderFactory.java:53

メンバ詳解

◆ CONFIG_PROPERTIES

final List<ProviderConfigProperty> org.keycloak.keys.GeneratedHmacKeyProviderFactory.CONFIG_PROPERTIES
staticprivate
初期値:
= SecretKeyProviderUtils.configurationBuilder()
.property(Attributes.SECRET_SIZE_PROPERTY)
.property(Attributes.HS_ALGORITHM_PROPERTY)
.build()

◆ DEFAULT_HMAC_KEY_SIZE

final int org.keycloak.keys.GeneratedHmacKeyProviderFactory.DEFAULT_HMAC_KEY_SIZE = 64
static

◆ HELP_TEXT

final String org.keycloak.keys.GeneratedHmacKeyProviderFactory.HELP_TEXT = "Generates HMAC secret key"
staticprivate

◆ ID

final String org.keycloak.keys.GeneratedHmacKeyProviderFactory.ID = "hmac-generated"
static

◆ logger

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

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