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

公開メンバ関数

Object getAccountService (KeycloakSession session, EventBuilder event)
 

非公開メンバ関数

Theme getTheme (KeycloakSession session)
 
boolean isDeprecatedFormsAccountConsole (Theme theme)
 

静的非公開変数類

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

詳解

著者
Stian Thorgersen

関数詳解

◆ getAccountService()

Object org.keycloak.services.resources.account.AccountLoader.getAccountService ( KeycloakSession  session,
EventBuilder  event 
)
inline
49  {
50  RealmModel realm = session.getContext().getRealm();
51 
52  ClientModel client = realm.getClientByClientId(Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
53  if (client == null || !client.isEnabled()) {
54  logger.debug("account management not enabled");
55  throw new NotFoundException("account management not enabled");
56  }
57 
58  HttpRequest request = session.getContext().getContextObject(HttpRequest.class);
59  HttpHeaders headers = session.getContext().getRequestHeaders();
60  MediaType content = headers.getMediaType();
61  List<MediaType> accepts = headers.getAcceptableMediaTypes();
62 
63  Theme theme = getTheme(session);
64  boolean deprecatedAccount = isDeprecatedFormsAccountConsole(theme);
65 
66  if (request.getHttpMethod().equals(HttpMethod.OPTIONS)) {
67  return new CorsPreflightService(request);
68  } else if ((accepts.contains(MediaType.APPLICATION_JSON_TYPE) || MediaType.APPLICATION_JSON_TYPE.equals(content)) && !request.getUri().getPath().endsWith("keycloak.json")) {
69  AuthenticationManager.AuthResult authResult = new AppAuthManager().authenticateBearerToken(session);
70  if (authResult == null) {
71  throw new NotAuthorizedException("Bearer token required");
72  }
73 
74  Auth auth = new Auth(session.getContext().getRealm(), authResult.getToken(), authResult.getUser(), client, authResult.getSession(), false);
75  AccountRestService accountRestService = new AccountRestService(session, auth, client, event);
76  ResteasyProviderFactory.getInstance().injectProperties(accountRestService);
77  accountRestService.init();
78  return accountRestService;
79  } else {
80  if (deprecatedAccount) {
81  AccountFormService accountFormService = new AccountFormService(realm, client, event);
82  ResteasyProviderFactory.getInstance().injectProperties(accountFormService);
83  accountFormService.init();
84  return accountFormService;
85  } else {
86  AccountConsole console = new AccountConsole(realm, client, theme);
87  ResteasyProviderFactory.getInstance().injectProperties(console);
88  console.init();
89  return console;
90  }
91  }
92  }
boolean isDeprecatedFormsAccountConsole(Theme theme)
Definition: AccountLoader.java:102
Theme getTheme(KeycloakSession session)
Definition: AccountLoader.java:94
static final Logger logger
Definition: AccountLoader.java:47

◆ getTheme()

Theme org.keycloak.services.resources.account.AccountLoader.getTheme ( KeycloakSession  session)
inlineprivate
94  {
95  try {
96  return session.theme().getTheme(Theme.Type.ACCOUNT);
97  } catch (IOException e) {
98  throw new InternalServerErrorException(e);
99  }
100  }

◆ isDeprecatedFormsAccountConsole()

boolean org.keycloak.services.resources.account.AccountLoader.isDeprecatedFormsAccountConsole ( Theme  theme)
inlineprivate
102  {
103  try {
104  return Boolean.parseBoolean(theme.getProperties().getProperty("deprecatedMode", "true"));
105  } catch (IOException e) {
106  throw new InternalServerErrorException(e);
107  }
108  }

メンバ詳解

◆ logger

final Logger org.keycloak.services.resources.account.AccountLoader.logger = Logger.getLogger(AccountLoader.class)
staticprivate

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