keycloak-service
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.services.managers.ApplianceBootstrap クラス
org.keycloak.services.managers.ApplianceBootstrap 連携図
Collaboration graph

公開メンバ関数

 ApplianceBootstrap (KeycloakSession session)
 
boolean isNewInstall ()
 
boolean isNoMasterUser ()
 
boolean createMasterRealm (String contextPath)
 
void createMasterRealmUser (String username, String password)
 

非公開変数類

final KeycloakSession session
 

詳解

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ ApplianceBootstrap()

org.keycloak.services.managers.ApplianceBootstrap.ApplianceBootstrap ( KeycloakSession  session)
inline
41  {
42  this.session = session;
43  }
final KeycloakSession session
Definition: ApplianceBootstrap.java:39

関数詳解

◆ createMasterRealm()

boolean org.keycloak.services.managers.ApplianceBootstrap.createMasterRealm ( String  contextPath)
inline
58  {
59  if (!isNewInstall()) {
60  throw new IllegalStateException("Can't create default realm as realms already exists");
61  }
62 
63  String adminRealmName = Config.getAdminRealm();
64  ServicesLogger.LOGGER.initializingAdminRealm(adminRealmName);
65 
66  RealmManager manager = new RealmManager(session);
67  manager.setContextPath(contextPath);
68  RealmModel realm = manager.createRealm(adminRealmName, adminRealmName);
69  realm.setName(adminRealmName);
70  realm.setDisplayName(Version.NAME);
71  realm.setDisplayNameHtml(Version.NAME_HTML);
72  realm.setEnabled(true);
73  realm.addRequiredCredential(CredentialRepresentation.PASSWORD);
74  realm.setSsoSessionIdleTimeout(1800);
75  realm.setAccessTokenLifespan(60);
76  realm.setAccessTokenLifespanForImplicitFlow(Constants.DEFAULT_ACCESS_TOKEN_LIFESPAN_FOR_IMPLICIT_FLOW_TIMEOUT);
77  realm.setSsoSessionMaxLifespan(36000);
78  realm.setOfflineSessionIdleTimeout(Constants.DEFAULT_OFFLINE_SESSION_IDLE_TIMEOUT);
79  // KEYCLOAK-7688 Offline Session Max for Offline Token
80  realm.setOfflineSessionMaxLifespanEnabled(false);
81  realm.setOfflineSessionMaxLifespan(Constants.DEFAULT_OFFLINE_SESSION_MAX_LIFESPAN);
82  realm.setAccessCodeLifespan(60);
83  realm.setAccessCodeLifespanUserAction(300);
84  realm.setAccessCodeLifespanLogin(1800);
85  realm.setSslRequired(SslRequired.EXTERNAL);
86  realm.setRegistrationAllowed(false);
87  realm.setRegistrationEmailAsUsername(false);
88 
89  session.getContext().setRealm(realm);
90  DefaultKeyProviders.createProviders(realm);
91 
92  return true;
93  }
boolean isNewInstall()
Definition: ApplianceBootstrap.java:45
final KeycloakSession session
Definition: ApplianceBootstrap.java:39

◆ createMasterRealmUser()

void org.keycloak.services.managers.ApplianceBootstrap.createMasterRealmUser ( String  username,
String  password 
)
inline
95  {
96  RealmModel realm = session.realms().getRealm(Config.getAdminRealm());
97  session.getContext().setRealm(realm);
98 
99  if (session.users().getUsersCount(realm) > 0) {
100  throw new IllegalStateException("Can't create initial user as users already exists");
101  }
102 
103  UserModel adminUser = session.users().addUser(realm, username);
104  adminUser.setEnabled(true);
105 
106  UserCredentialModel usrCredModel = new UserCredentialModel();
107  usrCredModel.setType(UserCredentialModel.PASSWORD);
108  usrCredModel.setValue(password);
109  session.userCredentialManager().updateCredential(realm, adminUser, usrCredModel);
110 
111  RoleModel adminRole = realm.getRole(AdminRoles.ADMIN);
112  adminUser.grantRole(adminRole);
113  }
final KeycloakSession session
Definition: ApplianceBootstrap.java:39

◆ isNewInstall()

boolean org.keycloak.services.managers.ApplianceBootstrap.isNewInstall ( )
inline
45  {
46  if (session.realms().getRealms().size() > 0) {
47  return false;
48  } else {
49  return true;
50  }
51  }
final KeycloakSession session
Definition: ApplianceBootstrap.java:39

◆ isNoMasterUser()

boolean org.keycloak.services.managers.ApplianceBootstrap.isNoMasterUser ( )
inline
53  {
54  RealmModel realm = session.realms().getRealm(Config.getAdminRealm());
55  return session.users().getUsersCount(realm) == 0;
56  }
final KeycloakSession session
Definition: ApplianceBootstrap.java:39

メンバ詳解

◆ session

final KeycloakSession org.keycloak.services.managers.ApplianceBootstrap.session
private

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