@GET @Path("/user-by-federated-identity") @Produces(MediaType.APPLICATION_JSON) public UserRepresentation getUserByFederatedIdentity(@QueryParam("realmName") String realmName, @QueryParam("identityProvider") String identityProvider, @QueryParam("userId") String userId, @QueryParam("userName") String userName) { RealmModel realm = getRealmByName(realmName); UserModel foundFederatedUser = session.users().getUserByFederatedIdentity(new FederatedIdentityModel(identityProvider, userId, userName), realm); if (foundFederatedUser == null) return null; return ModelToRepresentation.toRepresentation(foundFederatedUser); }
@Override public Set<FederatedIdentityModel> getFederatedIdentities(String userId, RealmModel realm) { TypedQuery<BrokerLinkEntity> query = em.createNamedQuery("findBrokerLinkByUser", BrokerLinkEntity.class) .setParameter("userId", userId); List<BrokerLinkEntity> results = query.getResultList(); Set<FederatedIdentityModel> set = new HashSet<>(); for (BrokerLinkEntity entity : results) { FederatedIdentityModel model = new FederatedIdentityModel(entity.getIdentityProvider(), entity.getBrokerUserId(), entity.getBrokerUserName(), entity.getToken()); set.add(model); } return set; }
@Override public Set<FederatedIdentityModel> getFederatedIdentities(UserModel user, RealmModel realm) { TypedQuery<FederatedIdentityEntity> query = em.createNamedQuery("findFederatedIdentityByUser", FederatedIdentityEntity.class); UserEntity userEntity = em.getReference(UserEntity.class, user.getId()); query.setParameter("user", userEntity); List<FederatedIdentityEntity> results = query.getResultList(); Set<FederatedIdentityModel> set = new HashSet<FederatedIdentityModel>(); for (FederatedIdentityEntity entity : results) { set.add(new FederatedIdentityModel(entity.getIdentityProvider(), entity.getUserId(), entity.getUserName(), entity.getToken())); } return set; }
@Override public Set<FederatedIdentityModel> getFederatedIdentities(String userId, RealmModel realm) { FederatedUser userEntity = getUserById(userId); if (userEntity == null) return Collections.EMPTY_SET; List<FederatedIdentityEntity> linkEntities = userEntity.getFederatedIdentities(); if (linkEntities == null) { return Collections.EMPTY_SET; } Set<FederatedIdentityModel> result = new HashSet<FederatedIdentityModel>(); for (FederatedIdentityEntity federatedIdentityEntity : linkEntities) { FederatedIdentityModel model = new FederatedIdentityModel(federatedIdentityEntity.getIdentityProvider(), federatedIdentityEntity.getUserId(), federatedIdentityEntity.getUserName(), federatedIdentityEntity.getToken()); result.add(model); } return result; }
@Override public FederatedIdentityModel getFederatedIdentity(String userId, String socialProvider, RealmModel realm) { BrokerLinkEntity entity = getBrokerLinkEntity(realm, userId, socialProvider); if (entity == null) return null; return new FederatedIdentityModel(entity.getIdentityProvider(), entity.getBrokerUserId(), entity.getBrokerUserName(), entity.getToken()); }
@Override public FederatedIdentityModel getFederatedIdentity(UserModel user, String identityProvider, RealmModel realm) { FederatedIdentityEntity entity = findFederatedIdentity(user, identityProvider); return (entity != null) ? new FederatedIdentityModel(entity.getIdentityProvider(), entity.getUserId(), entity.getUserName(), entity.getToken()) : null; }
@Override public Set<FederatedIdentityModel> getFederatedIdentities(UserModel userModel, RealmModel realm) { UserAdapter user = getUserById(userModel.getId(), realm); MongoUserEntity userEntity = user.getUser(); List<FederatedIdentityEntity> linkEntities = userEntity.getFederatedIdentities(); if (linkEntities == null) { return Collections.EMPTY_SET; } Set<FederatedIdentityModel> result = new HashSet<FederatedIdentityModel>(); for (FederatedIdentityEntity federatedIdentityEntity : linkEntities) { FederatedIdentityModel model = new FederatedIdentityModel(federatedIdentityEntity.getIdentityProvider(), federatedIdentityEntity.getUserId(), federatedIdentityEntity.getUserName(), federatedIdentityEntity.getToken()); result.add(model); } return result; }
@Override public FederatedIdentityModel getFederatedIdentity(String userId, String socialProvider, RealmModel realm) { FederatedUser userEntity = getUserById(userId); if (userEntity == null) return null; FederatedIdentityEntity federatedIdentityEntity = findFederatedIdentityLink(userEntity, socialProvider); return federatedIdentityEntity != null ? new FederatedIdentityModel(federatedIdentityEntity.getIdentityProvider(), federatedIdentityEntity.getUserId(), federatedIdentityEntity.getUserName(), federatedIdentityEntity.getToken()) : null; }
@Override public FederatedIdentityModel getFederatedIdentity(UserModel user, String socialProvider, RealmModel realm) { UserAdapter mongoUser = getUserById(user.getId(), realm); MongoUserEntity userEntity = mongoUser.getUser(); FederatedIdentityEntity federatedIdentityEntity = findFederatedIdentityLink(userEntity, socialProvider); return federatedIdentityEntity != null ? new FederatedIdentityModel(federatedIdentityEntity.getIdentityProvider(), federatedIdentityEntity.getUserId(), federatedIdentityEntity.getUserName(), federatedIdentityEntity.getToken()) : null; }
if (userRep.getFederatedIdentities() != null) { for (FederatedIdentityRepresentation identity : userRep.getFederatedIdentities()) { FederatedIdentityModel mappingModel = new FederatedIdentityModel(identity.getIdentityProvider(), identity.getUserId(), identity.getUserName()); session.users().addFederatedIdentity(newRealm, user, mappingModel);