org.keycloak.models.RealmModel.getUserFederationProviders()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.4k)|赞(0)|评价(0)|浏览(56)

本文整理了Java中org.keycloak.models.RealmModel.getUserFederationProviders方法的一些代码示例,展示了RealmModel.getUserFederationProviders的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RealmModel.getUserFederationProviders方法的具体详情如下:
包路径:org.keycloak.models.RealmModel
类名称:RealmModel
方法名:getUserFederationProviders

RealmModel.getUserFederationProviders介绍

暂无

代码示例

代码示例来源:origin: org.keycloak/keycloak-model-api

public static UserFederationProviderModel findUserFederationProviderById(String fedProviderId, RealmModel realm) {
  for (UserFederationProviderModel fedProvider : realm.getUserFederationProviders()) {
    if (fedProviderId.equals(fedProvider.getId())) {
      return fedProvider;
    }
  }
  return null;
}

代码示例来源:origin: org.keycloak/keycloak-model-api

public static UserFederationProviderModel findUserFederationProviderByDisplayName(String displayName, RealmModel realm) {
  if (displayName == null) {
    return null;
  }
  for (UserFederationProviderModel fedProvider : realm.getUserFederationProviders()) {
    if (displayName.equals(fedProvider.getDisplayName())) {
      return fedProvider;
    }
  }
  return null;
}

代码示例来源:origin: org.keycloak/keycloak-invalidation-cache-infinispan

@Override
public List<UserFederationProviderModel> getUserFederationProviders() {
  if (updated != null) return updated.getUserFederationProviders();
  return cached.getUserFederationProviders();
}

代码示例来源:origin: org.keycloak/keycloak-model-api

void federationLoad(RealmModel realm, Map<String, String> attributes) {
  for (UserFederationProviderModel federation : realm.getUserFederationProviders()) {
    UserFederationProvider fed = getFederationProvider(federation);
    fed.searchByAttributes(attributes, realm, 30);
  }
}

代码示例来源:origin: org.keycloak/keycloak-model-api

@Override
public List<UserModel> getGroupMembers(RealmModel realm, final GroupModel group, int firstResult, int maxResults) {
  // Not very effective. For the page X, it is loading also all previous pages 0..X-1 . Improve if needed...
  int maxTotal = firstResult + maxResults;
  List<UserModel> localMembers = query(new PaginatedQuery() {
    @Override
    public List<UserModel> query(RealmModel realm, int first, int max) {
      return session.userStorage().getGroupMembers(realm, group, first, max);
    }
  }, realm, 0, maxTotal);
  Set<UserModel> result = new LinkedHashSet<>(localMembers);
  for (UserFederationProviderModel federation : realm.getUserFederationProviders()) {
    if (result.size() >= maxTotal) {
      break;
    }
    int max = maxTotal - result.size();
    UserFederationProvider fed = getFederationProvider(federation);
    List<UserModel> current = fed.getGroupMembers(realm, group, 0, max);
    if (current != null) {
      result.addAll(current);
    }
  }
  if (result.size() <= firstResult) {
    return Collections.emptyList();
  }
  int max = Math.min(maxTotal, result.size());
  return new ArrayList<>(result).subList(firstResult, max);
}

代码示例来源:origin: org.keycloak/keycloak-model-api

protected UserFederationProvider getFederationLink(RealmModel realm, UserModel user) {
  if (user.getFederationLink() == null) return null;
  for (UserFederationProviderModel fed : realm.getUserFederationProviders()) {
    if (fed.getId().equals(user.getFederationLink())) {
      return getFederationProvider(fed);
    }
  }
  return null;
}

代码示例来源:origin: org.keycloak/keycloak-model-api

private void migrateLDAPProviders(KeycloakSession session, RealmModel realm) {
  List<UserFederationProviderModel> federationProviders = realm.getUserFederationProviders();
  for (UserFederationProviderModel fedProvider : federationProviders) {

代码示例来源:origin: org.keycloak/keycloak-model-api

@Override
public void preRemove(RealmModel realm, RoleModel role) {
  for (UserFederationProviderModel federation : realm.getUserFederationProviders()) {
    UserFederationProvider fed = getFederationProvider(federation);
    fed.preRemove(realm, role);
  }
  session.userStorage().preRemove(realm, role);
}

代码示例来源:origin: org.keycloak/keycloak-model-api

@Override
public UserModel getUserByEmail(String email, RealmModel realm) {
  UserModel user = session.userStorage().getUserByEmail(email.toLowerCase(), realm);
  if (user != null) {
    user = validateAndProxyUser(realm, user);
    if (user != null) return user;
  }
  for (UserFederationProviderModel federation : realm.getUserFederationProviders()) {
    UserFederationProvider fed = getFederationProvider(federation);
    user = fed.getUserByEmail(realm, email);
    if (user != null) return user;
  }
  return user;
}

代码示例来源:origin: org.keycloak/keycloak-model-api

@Override
public void preRemove(RealmModel realm) {
  for (UserFederationProviderModel federation : realm.getUserFederationProviders()) {
    UserFederationProvider fed = getFederationProvider(federation);
    fed.preRemove(realm);
  }
  session.userStorage().preRemove(realm);
}

代码示例来源:origin: org.keycloak/keycloak-model-api

@Override
public void preRemove(RealmModel realm, GroupModel group) {
  for (UserFederationProviderModel federation : realm.getUserFederationProviders()) {
    UserFederationProvider fed = getFederationProvider(federation);
    fed.preRemove(realm, group);
  }
  session.userStorage().preRemove(realm, group);
}

代码示例来源:origin: org.keycloak/keycloak-model-api

protected UserModel registerWithFederation(RealmModel realm, UserModel user) {
  for (UserFederationProviderModel federation : realm.getUserFederationProviders()) {
    UserFederationProvider fed = getFederationProvider(federation);
    if (fed.synchronizeRegistrations()) {
      user.setFederationLink(federation.getId());
      UserModel registered = fed.register(realm, user);
      managedUsers.put(registered.getId(), registered);
      return registered;
    }
  }
  return user;
}

代码示例来源:origin: org.keycloak/keycloak-model-api

@Override
public UserModel getUserByUsername(String username, RealmModel realm) {
  UserModel user = session.userStorage().getUserByUsername(username.toLowerCase(), realm);
  if (user != null) {
    user = validateAndProxyUser(realm, user);
    if (user != null) return user;
  }
  for (UserFederationProviderModel federation : realm.getUserFederationProviders()) {
    UserFederationProvider fed = getFederationProvider(federation);
    user = fed.getUserByUsername(realm, username);
    if (user != null) return user;
  }
  return user;
}

代码示例来源:origin: org.keycloak/keycloak-model-api

@Override
public CredentialValidationOutput validCredentials(KeycloakSession session, RealmModel realm, UserCredentialModel... input) {
  List<UserFederationProviderModel> fedProviderModels = realm.getUserFederationProviders();
  List<UserFederationProvider> fedProviders = new ArrayList<UserFederationProvider>();
  for (UserFederationProviderModel fedProviderModel : fedProviderModels) {
    fedProviders.add(getFederationProvider(fedProviderModel));
  }
  CredentialValidationOutput result = null;
  for (UserCredentialModel cred : input) {
    UserFederationProvider providerSupportingCreds = null;
    // Find first provider, which supports required credential type
    for (UserFederationProvider fedProvider : fedProviders) {
      if (fedProvider.getSupportedCredentialTypes().contains(cred.getType())) {
        providerSupportingCreds = fedProvider;
        break;
      }
    }
    if (providerSupportingCreds == null) {
      logger.warn("Don't have provider supporting credentials of type " + cred.getType());
      return CredentialValidationOutput.failed();
    }
    logger.debug("Found provider [" + providerSupportingCreds + "] supporting credentials of type " + cred.getType());
    CredentialValidationOutput currentResult = providerSupportingCreds.validCredentials(realm, cred);
    result = (result == null) ? currentResult : result.merge(currentResult);
  }
  // For now, validCredentials(realm, input) is not supported for local userProviders
  return (result != null) ? result : CredentialValidationOutput.failed();
}

代码示例来源:origin: org.keycloak/keycloak-model-api

public void migrate(KeycloakSession session) {
  List<RealmModel> realms = session.realms().getRealms();
  for (RealmModel realm : realms) {
    List<UserFederationProviderModel> federationProviders = realm.getUserFederationProviders();
    for (UserFederationProviderModel fedProvider : federationProviders) {
      if (fedProvider.getProviderName().equals(LDAPConstants.LDAP_PROVIDER)) {
        Map<String, String> config = fedProvider.getConfig();
        if (isActiveDirectory(config)) {
          // Create mapper for MSAD account controls
          if (realm.getUserFederationMapperByName(fedProvider.getId(), "MSAD account controls") == null) {
            UserFederationMapperModel mapperModel = KeycloakModelUtils.createUserFederationMapperModel("MSAD account controls", fedProvider.getId(), LDAPConstants.MSAD_USER_ACCOUNT_CONTROL_MAPPER);
            realm.addUserFederationMapper(mapperModel);
          }
        }
      }
    }
  }
}

代码示例来源:origin: org.keycloak/keycloak-invalidation-cache-model

userFederationProviders = model.getUserFederationProviders();
for (UserFederationMapperModel mapper : model.getUserFederationMappers()) {
  userFederationMappers.add(mapper.getFederationProviderId(), mapper);

代码示例来源:origin: org.keycloak/keycloak-model-api

List<UserFederationProviderModel> fedProviderModels = realm.getUserFederationProviders();
if (fedProviderModels.size() > 0) {
  List<UserFederationProviderRepresentation> fedProviderReps = new ArrayList<UserFederationProviderRepresentation>();

相关文章

微信公众号

最新文章

更多

RealmModel类方法