|
static List< IdentityProviderModel > | filterIdentityProviders (List< IdentityProviderModel > providers, KeycloakSession session, RealmModel realm, Map< String, Object > attributes, MultivaluedMap< String, String > formData) |
|
Various util methods, so the logic is not hardcoded in freemarker beans
- 著者
- Marek Posolda
◆ filterIdentityProviders()
static List<IdentityProviderModel> org.keycloak.forms.login.freemarker.LoginFormsUtil.filterIdentityProviders |
( |
List< IdentityProviderModel > |
providers, |
|
|
KeycloakSession |
session, |
|
|
RealmModel |
realm, |
|
|
Map< String, Object > |
attributes, |
|
|
MultivaluedMap< String, String > |
formData |
|
) |
| |
|
inlinestatic |
45 Boolean usernameEditDisabled = (Boolean) attributes.get(LoginFormsProvider.USERNAME_EDIT_DISABLED);
46 if (usernameEditDisabled != null && usernameEditDisabled) {
47 String username = formData.getFirst(UserModel.USERNAME);
48 if (username == null) {
49 throw new IllegalStateException(
"USERNAME_EDIT_DISABLED but username not known");
52 UserModel user = session.users().getUserByUsername(username, realm);
53 if (user == null || !user.isEnabled()) {
54 throw new IllegalStateException(
"User " + username +
" not found or disabled");
57 Set<FederatedIdentityModel> fedLinks = session.users().getFederatedIdentities(user, realm);
58 Set<String> federatedIdentities =
new HashSet<>();
59 for (FederatedIdentityModel fedLink : fedLinks) {
60 federatedIdentities.add(fedLink.getIdentityProvider());
63 List<IdentityProviderModel> result =
new LinkedList<>();
64 for (IdentityProviderModel idp : providers) {
65 if (federatedIdentities.contains(idp.getAlias())) {
このクラス詳解は次のファイルから抽出されました:
- D:/AppData/doxygen/keycloak/rest-service/src/services/src/main/java/org/keycloak/forms/login/freemarker/LoginFormsUtil.java