public IdentityProviderModel(IdentityProviderModel model) { this.internalId = model.getInternalId(); this.providerId = model.getProviderId(); this.alias = model.getAlias(); this.config = new HashMap<String, String>(model.getConfig()); this.enabled = model.isEnabled(); this.trustEmail = model.isTrustEmail(); this.storeToken = model.isStoreToken(); this.authenticateByDefault = model.isAuthenticateByDefault(); this.addReadTokenRoleOnCreate = model.addReadTokenRoleOnCreate; this.firstBrokerLoginFlowId = model.getFirstBrokerLoginFlowId(); this.postBrokerLoginFlowId = model.getPostBrokerLoginFlowId(); }
public IdentityProviderModel(IdentityProviderModel model) { if (model != null) { this.internalId = model.getInternalId(); this.providerId = model.getProviderId(); this.alias = model.getAlias(); this.displayName = model.getDisplayName(); this.config = new HashMap<String, String>(model.getConfig()); this.enabled = model.isEnabled(); this.trustEmail = model.isTrustEmail(); this.storeToken = model.isStoreToken(); this.linkOnly = model.isLinkOnly(); this.authenticateByDefault = model.isAuthenticateByDefault(); this.addReadTokenRoleOnCreate = model.addReadTokenRoleOnCreate; this.firstBrokerLoginFlowId = model.getFirstBrokerLoginFlowId(); this.postBrokerLoginFlowId = model.getPostBrokerLoginFlowId(); } }
@Override public void addIdentityProvider(IdentityProviderModel identityProvider) { IdentityProviderEntity entity = new IdentityProviderEntity(); if (identityProvider.getInternalId() == null) { entity.setInternalId(KeycloakModelUtils.generateId()); } else { entity.setInternalId(identityProvider.getInternalId()); } entity.setAlias(identityProvider.getAlias()); entity.setDisplayName(identityProvider.getDisplayName()); entity.setProviderId(identityProvider.getProviderId()); entity.setEnabled(identityProvider.isEnabled()); entity.setStoreToken(identityProvider.isStoreToken()); entity.setAddReadTokenRoleOnCreate(identityProvider.isAddReadTokenRoleOnCreate()); entity.setTrustEmail(identityProvider.isTrustEmail()); entity.setAuthenticateByDefault(identityProvider.isAuthenticateByDefault()); entity.setFirstBrokerLoginFlowId(identityProvider.getFirstBrokerLoginFlowId()); entity.setPostBrokerLoginFlowId(identityProvider.getPostBrokerLoginFlowId()); entity.setConfig(identityProvider.getConfig()); entity.setLinkOnly(identityProvider.isLinkOnly()); realm.addIdentityProvider(entity); identityProvider.setInternalId(entity.getInternalId()); em.persist(entity); em.flush(); }
private SessionAndKeyHolder getCacheKeyToInvalidate(ProviderEvent event) { if (event instanceof RealmModel.ClientUpdatedEvent) { RealmModel.ClientUpdatedEvent eventt = (RealmModel.ClientUpdatedEvent) event; String cacheKey = PublicKeyStorageUtils.getClientModelCacheKey(eventt.getUpdatedClient().getRealm().getId(), eventt.getUpdatedClient().getId()); return new SessionAndKeyHolder(eventt.getKeycloakSession(), cacheKey); } else if (event instanceof RealmModel.ClientRemovedEvent) { RealmModel.ClientRemovedEvent eventt = (RealmModel.ClientRemovedEvent) event; String cacheKey = PublicKeyStorageUtils.getClientModelCacheKey(eventt.getClient().getRealm().getId(), eventt.getClient().getId()); return new SessionAndKeyHolder(eventt.getKeycloakSession(), cacheKey); } else if (event instanceof RealmModel.IdentityProviderUpdatedEvent) { RealmModel.IdentityProviderUpdatedEvent eventt = (RealmModel.IdentityProviderUpdatedEvent) event; String cacheKey = PublicKeyStorageUtils.getIdpModelCacheKey(eventt.getRealm().getId(), eventt.getUpdatedIdentityProvider().getInternalId()); return new SessionAndKeyHolder(eventt.getKeycloakSession(), cacheKey); } else if (event instanceof RealmModel.IdentityProviderRemovedEvent) { RealmModel.IdentityProviderRemovedEvent eventt = (RealmModel.IdentityProviderRemovedEvent) event; String cacheKey = PublicKeyStorageUtils.getIdpModelCacheKey(eventt.getRealm().getId(), eventt.getRemovedIdentityProvider().getInternalId()); return new SessionAndKeyHolder(eventt.getKeycloakSession(), cacheKey); } else { return null; } }
@Override public void updateIdentityProvider(IdentityProviderModel identityProvider) { for (IdentityProviderEntity entity : this.realm.getIdentityProviders()) { if (entity.getInternalId().equals(identityProvider.getInternalId())) { entity.setAlias(identityProvider.getAlias()); entity.setDisplayName(identityProvider.getDisplayName());
@Override public void updateIdentityProvider(IdentityProviderModel identityProvider) { for (IdentityProviderEntity entity : this.realm.getIdentityProviders()) { if (entity.getInternalId().equals(identityProvider.getInternalId())) { entity.setAlias(identityProvider.getAlias()); entity.setDisplayName(identityProvider.getDisplayName());
public static IdentityProviderRepresentation toRepresentation(RealmModel realm, IdentityProviderModel identityProviderModel) { IdentityProviderRepresentation providerRep = new IdentityProviderRepresentation(); providerRep.setInternalId(identityProviderModel.getInternalId()); providerRep.setProviderId(identityProviderModel.getProviderId()); providerRep.setAlias(identityProviderModel.getAlias()); providerRep.setEnabled(identityProviderModel.isEnabled()); providerRep.setStoreToken(identityProviderModel.isStoreToken()); providerRep.setTrustEmail(identityProviderModel.isTrustEmail()); providerRep.setAuthenticateByDefault(identityProviderModel.isAuthenticateByDefault()); providerRep.setConfig(identityProviderModel.getConfig()); providerRep.setAddReadTokenRoleOnCreate(identityProviderModel.isAddReadTokenRoleOnCreate()); String firstBrokerLoginFlowId = identityProviderModel.getFirstBrokerLoginFlowId(); if (firstBrokerLoginFlowId != null) { AuthenticationFlowModel flow = realm.getAuthenticationFlowById(firstBrokerLoginFlowId); if (flow == null) { throw new ModelException("Couldn't find authentication flow with id " + firstBrokerLoginFlowId); } providerRep.setFirstBrokerLoginFlowAlias(flow.getAlias()); } String postBrokerLoginFlowId = identityProviderModel.getPostBrokerLoginFlowId(); if (postBrokerLoginFlowId != null) { AuthenticationFlowModel flow = realm.getAuthenticationFlowById(postBrokerLoginFlowId); if (flow == null) { throw new ModelException("Couldn't find authentication flow with id " + postBrokerLoginFlowId); } providerRep.setPostBrokerLoginFlowAlias(flow.getAlias()); } return providerRep; }