diff --git a/nae-user-ce/src/main/java/com/netgrif/application/engine/auth/service/RealmServiceImpl.java b/nae-user-ce/src/main/java/com/netgrif/application/engine/auth/service/RealmServiceImpl.java index 0876a494e56..b3bcaa63bd6 100644 --- a/nae-user-ce/src/main/java/com/netgrif/application/engine/auth/service/RealmServiceImpl.java +++ b/nae-user-ce/src/main/java/com/netgrif/application/engine/auth/service/RealmServiceImpl.java @@ -132,18 +132,15 @@ public Optional getRealmByName(String name) { } @Override - public > T addProvider(String realmId, AuthMethodConfig config) { + public Realm addProvider(String realmId, AuthMethodConfig config) { AuthMethodProvider provider = (AuthMethodProvider) providerRegistry.getProvider(config.getType()); if (provider == null) { throw new IllegalArgumentException("Provider type " + config.getType() + " not found"); } - AuthMethod authMethod = provider.createAuthMethod(config); Realm realm = getRealmById(realmId).orElseThrow(() -> new IllegalArgumentException("Realm with id " + realmId + " not found")); realm.addAuthMethod(config); - realmRepository.save((com.netgrif.application.engine.adapter.spring.auth.domain.Realm) realm); - - return (T) authMethod; + return realmRepository.save((com.netgrif.application.engine.adapter.spring.auth.domain.Realm) realm); } @Override diff --git a/nae-user-ce/src/main/java/com/netgrif/application/engine/auth/service/UserServiceImpl.java b/nae-user-ce/src/main/java/com/netgrif/application/engine/auth/service/UserServiceImpl.java index 40954e98248..1fa89a13d23 100644 --- a/nae-user-ce/src/main/java/com/netgrif/application/engine/auth/service/UserServiceImpl.java +++ b/nae-user-ce/src/main/java/com/netgrif/application/engine/auth/service/UserServiceImpl.java @@ -141,9 +141,9 @@ public Optional findUserByUsername(String username, String realmId String collectionName = collectionNameProvider.getCollectionNameForRealm(realmId); Optional userOpt = userRepository.findByUsername(username, mongoTemplate, collectionName).map(user -> (AbstractUser) user); if (userOpt.isPresent()) { - log.debug("User [{}] found in realm [{}]", username, collectionName); + log.debug("User [{}] found in realm [{}]", username, realmId); } else { - log.warn("User [{}] not found in realm [{}]", username, collectionName); + log.warn("User [{}] not found in realm [{}]", username, realmId); } return userOpt; } diff --git a/nae-user-common/src/main/java/com/netgrif/application/engine/auth/provider/AuthMethodProvider.java b/nae-user-common/src/main/java/com/netgrif/application/engine/auth/provider/AuthMethodProvider.java index d5a06866bec..9f73db553e3 100644 --- a/nae-user-common/src/main/java/com/netgrif/application/engine/auth/provider/AuthMethodProvider.java +++ b/nae-user-common/src/main/java/com/netgrif/application/engine/auth/provider/AuthMethodProvider.java @@ -1,14 +1,11 @@ package com.netgrif.application.engine.auth.provider; import com.netgrif.application.engine.objects.auth.provider.AuthMethod; -import com.netgrif.application.engine.objects.auth.provider.AuthMethodConfig; public interface AuthMethodProvider { String getProviderType(); - AuthMethod createAuthMethod(AuthMethodConfig authMethodConfig); - Class getConfigClass(); Class> getAuthMethodClass(); diff --git a/nae-user-common/src/main/java/com/netgrif/application/engine/auth/provider/ProviderRegistry.java b/nae-user-common/src/main/java/com/netgrif/application/engine/auth/provider/ProviderRegistry.java index 7163fdaed32..75cab02d73c 100644 --- a/nae-user-common/src/main/java/com/netgrif/application/engine/auth/provider/ProviderRegistry.java +++ b/nae-user-common/src/main/java/com/netgrif/application/engine/auth/provider/ProviderRegistry.java @@ -4,19 +4,26 @@ import org.springframework.stereotype.Component; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; @Slf4j @Component public class ProviderRegistry { - protected final Map> configClasses = new HashMap<>(); + protected final Map> configClasses = new ConcurrentHashMap<>(); - protected final Map> providers = new HashMap<>(); + protected final Map> providers = new ConcurrentHashMap<>(); + /** + * Registers provider into this bean + * + * @param type type of the provider. It's used as a key in the map registry + * @param provider provider instance to register. It's used as a value in the map registry + * */ public void registerProvider(String type, AuthMethodProvider provider) { providers.put(type.toLowerCase(), provider); configClasses.put(type.toLowerCase(), provider.getConfigClass()); - log.info("Registered provider for type: " + type); + log.info("Registered provider for type: {}", type); } public Class getConfigClass(String type) { diff --git a/nae-user-common/src/main/java/com/netgrif/application/engine/auth/service/RealmService.java b/nae-user-common/src/main/java/com/netgrif/application/engine/auth/service/RealmService.java index ecfac324ba7..38b634705a2 100644 --- a/nae-user-common/src/main/java/com/netgrif/application/engine/auth/service/RealmService.java +++ b/nae-user-common/src/main/java/com/netgrif/application/engine/auth/service/RealmService.java @@ -32,7 +32,7 @@ public interface RealmService { Optional getRealmByName(String name); - > T addProvider(String realmId, AuthMethodConfig config); + Realm addProvider(String realmId, AuthMethodConfig config); void removeProvider(String realmId, String providerId);