public String getUserId() { return federatedIdentityModel != null ? federatedIdentityModel.getUserId() : null; }
@Override public String getUserByFederatedIdentity(FederatedIdentityModel link, RealmModel realm) { TypedQuery<String> query = em.createNamedQuery("findUserByBrokerLinkAndRealm", String.class) .setParameter("realmId", realm.getId()) .setParameter("identityProvider", link.getIdentityProvider()) .setParameter("brokerUserId", link.getUserId()); List<String> results = query.getResultList(); if (results.isEmpty()) { return null; } else if (results.size() > 1) { throw new IllegalStateException("More results found for identityProvider=" + link.getIdentityProvider() + ", userId=" + link.getUserId() + ", results=" + results); } else { return results.get(0); } }
@Override public UserModel getUserByFederatedIdentity(FederatedIdentityModel identity, RealmModel realm) { TypedQuery<UserEntity> query = em.createNamedQuery("findUserByFederatedIdentityAndRealm", UserEntity.class); query.setParameter("realmId", realm.getId()); query.setParameter("identityProvider", identity.getIdentityProvider()); query.setParameter("userId", identity.getUserId()); List<UserEntity> results = query.getResultList(); if (results.isEmpty()) { return null; } else if (results.size() > 1) { throw new IllegalStateException("More results found for identityProvider=" + identity.getIdentityProvider() + ", userId=" + identity.getUserId() + ", results=" + results); } else { UserEntity user = results.get(0); return new UserAdapter(session, realm, em, user); } }
public static UserFullInvalidationEvent create(String userId, String username, String email, String realmId, boolean identityFederationEnabled, Collection<FederatedIdentityModel> federatedIdentities) { UserFullInvalidationEvent event = new UserFullInvalidationEvent(); event.userId = userId; event.username = username; event.email = email; event.realmId = realmId; event.identityFederationEnabled = identityFederationEnabled; if (identityFederationEnabled) { event.federatedIdentities = new HashMap<>(); for (FederatedIdentityModel socialLink : federatedIdentities) { event.federatedIdentities.put(socialLink.getIdentityProvider(), socialLink.getUserId()); } } return event; }
public static UserFederationLinkRemovedEvent create(String userId, String realmId, FederatedIdentityModel socialLink) { UserFederationLinkRemovedEvent event = new UserFederationLinkRemovedEvent(); event.userId = userId; event.realmId = realmId; if (socialLink != null) { event.identityProviderId = socialLink.getIdentityProvider(); event.socialUserId = socialLink.getUserId(); } return event; }
private static String getUserByFederatedIdentityCacheKey(String realmId, FederatedIdentityModel socialLink) { return getUserByFederatedIdentityCacheKey(realmId, socialLink.getIdentityProvider(), socialLink.getUserId()); }
@Override public void updateFederatedIdentity(RealmModel realm, String userId, FederatedIdentityModel model) { createIndex(realm, userId); BrokerLinkEntity entity = getBrokerLinkEntity(realm, userId, model.getIdentityProvider()); if (entity == null) return; entity.setBrokerUserName(model.getUserName()); entity.setBrokerUserId(model.getUserId()); entity.setToken(model.getToken()); em.persist(entity); em.flush(); }
@Override public void addFederatedIdentity(RealmModel realm, UserModel user, FederatedIdentityModel identity) { FederatedIdentityEntity entity = new FederatedIdentityEntity(); entity.setRealmId(realm.getId()); entity.setIdentityProvider(identity.getIdentityProvider()); entity.setUserId(identity.getUserId()); entity.setUserName(identity.getUserName().toLowerCase()); entity.setToken(identity.getToken()); UserEntity userEntity = em.getReference(UserEntity.class, user.getId()); entity.setUser(userEntity); em.persist(entity); em.flush(); }
public static FederatedIdentityRepresentation toRepresentation(FederatedIdentityModel socialLink) { FederatedIdentityRepresentation rep = new FederatedIdentityRepresentation(); rep.setUserName(socialLink.getUserName()); rep.setIdentityProvider(socialLink.getIdentityProvider()); rep.setUserId(socialLink.getUserId()); return rep; }
public static FederatedIdentityRepresentation exportSocialLink(FederatedIdentityModel socialLink) { FederatedIdentityRepresentation socialLinkRep = new FederatedIdentityRepresentation(); socialLinkRep.setIdentityProvider(socialLink.getIdentityProvider()); socialLinkRep.setUserId(socialLink.getUserId()); socialLinkRep.setUserName(socialLink.getUserName()); return socialLinkRep; }
@Override public void addFederatedIdentity(RealmModel realm, String userId, FederatedIdentityModel socialLink) { FederatedUser userEntity = findOrCreate(realm, userId); FederatedIdentityEntity federatedIdentityEntity = new FederatedIdentityEntity(); federatedIdentityEntity.setIdentityProvider(socialLink.getIdentityProvider()); federatedIdentityEntity.setUserId(socialLink.getUserId()); federatedIdentityEntity.setUserName(socialLink.getUserName().toLowerCase()); federatedIdentityEntity.setToken(socialLink.getToken()); getMongoStore().pushItemToList(userEntity, "federatedIdentities", federatedIdentityEntity, true, invocationContext); }
@Override public void addFederatedIdentity(RealmModel realm, UserModel user, FederatedIdentityModel identity) { UserAdapter mongoUser = getUserById(user.getId(), realm); MongoUserEntity userEntity = mongoUser.getUser(); FederatedIdentityEntity federatedIdentityEntity = new FederatedIdentityEntity(); federatedIdentityEntity.setIdentityProvider(identity.getIdentityProvider()); federatedIdentityEntity.setUserId(identity.getUserId()); federatedIdentityEntity.setUserName(identity.getUserName().toLowerCase()); federatedIdentityEntity.setToken(identity.getToken()); getMongoStore().pushItemToList(userEntity, "federatedIdentities", federatedIdentityEntity, true, invocationContext); }
@Override public void addFederatedIdentity(RealmModel realm, String userId, FederatedIdentityModel link) { createIndex(realm, userId); BrokerLinkEntity entity = new BrokerLinkEntity(); entity.setRealmId(realm.getId()); entity.setUserId(userId); entity.setBrokerUserId(link.getUserId()); entity.setIdentityProvider(link.getIdentityProvider()); entity.setToken(link.getToken()); entity.setBrokerUserName(link.getUserName()); entity.setStorageProviderId(new StorageId(userId).getProviderId()); em.persist(entity); }
@Override public UserModel getUserByFederatedIdentity(FederatedIdentityModel socialLink, RealmModel realm) { DBObject query = new QueryBuilder() .and("federatedIdentities.identityProvider").is(socialLink.getIdentityProvider()) .and("federatedIdentities.userId").is(socialLink.getUserId()) .and("realmId").is(realm.getId()) .get(); MongoUserEntity userEntity = getMongoStore().loadSingleEntity(MongoUserEntity.class, query, invocationContext); return userEntity == null ? null : new UserAdapter(session, realm, userEntity, invocationContext); }
@Override public String getUserByFederatedIdentity(FederatedIdentityModel socialLink, RealmModel realm) { DBObject query = new QueryBuilder() .and("federatedIdentities.identityProvider").is(socialLink.getIdentityProvider()) .and("federatedIdentities.userId").is(socialLink.getUserId()) .and("realmId").is(realm.getId()) .get(); FederatedUser userEntity = getMongoStore().loadSingleEntity(FederatedUser.class, query, invocationContext); return userEntity != null ? userEntity.getId() : null; }