diff --git a/api/src/main/java/org/smartbit4all/api/config/PlatformApiConfig.java b/api/src/main/java/org/smartbit4all/api/config/PlatformApiConfig.java index a3af436d4..ce5044472 100644 --- a/api/src/main/java/org/smartbit4all/api/config/PlatformApiConfig.java +++ b/api/src/main/java/org/smartbit4all/api/config/PlatformApiConfig.java @@ -49,7 +49,6 @@ import org.smartbit4all.api.object.bean.AggregationKind; import org.smartbit4all.api.object.bean.ObjectDefinitionData; import org.smartbit4all.api.object.bean.ReferencePropertyKind; -import org.smartbit4all.api.org.PasswordEncoderApi; import org.smartbit4all.api.rdbms.DatabaseDefinitionApi; import org.smartbit4all.api.rdbms.DatabaseDefinitionApiImpl; import org.smartbit4all.api.session.SessionManagementApi; @@ -83,7 +82,6 @@ import org.smartbit4all.domain.service.transfer.TransferService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.MessageSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -328,12 +326,6 @@ public StorageSequenceApi storageSequenceApi() { return new StorageSequenceApiImpl(); } - @Bean - @ConditionalOnMissingBean - public PasswordEncoderApi passwordEncoderApi() { - return new PasswordEncoderApi() {}; - } - @Bean public Storage viewContextServiceStorage(@Autowired(required = false) ObjectStorage objectStorage, ObjectDefinitionApi objectDefinitionApi) { diff --git a/api/src/main/java/org/smartbit4all/api/org/PasswordEncoderApi.java b/api/src/main/java/org/smartbit4all/api/org/PasswordEncoderApi.java deleted file mode 100644 index 202fe7089..000000000 --- a/api/src/main/java/org/smartbit4all/api/org/PasswordEncoderApi.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.smartbit4all.api.org; - -public interface PasswordEncoderApi { - - /** - * Encode the raw password. Generally, a good encoding algorithm applies a SHA-1 or greater hash - * combined with an 8-byte or greater randomly generated salt. - */ - default String encode(CharSequence rawPassword) { - return rawPassword.toString(); - } - - /** - * Verify the encoded password obtained from storage matches the submitted raw password after it - * too is encoded. Returns true if the passwords match, false if they do not. The stored password - * itself is never decoded. - * - * @param rawPassword the raw password to encode and match - * @param encodedPassword the encoded password from storage to compare with - * @return true if the raw password, after encoding, matches the encoded password from storage - */ - default boolean matches(CharSequence rawPassword, String encodedPassword) { - return true; - } - - -} diff --git a/bff-api/build.gradle b/bff-api/build.gradle index 502e9887f..296ce7256 100644 --- a/bff-api/build.gradle +++ b/bff-api/build.gradle @@ -5,6 +5,7 @@ plugins { dependencies { api project(':api') + api project(':sec') } diff --git a/bff-api/src/main/java/org/smartbit4all/bff/api/org/UserEditorPageApiImpl.java b/bff-api/src/main/java/org/smartbit4all/bff/api/org/UserEditorPageApiImpl.java index c41e75f34..d3b4e1775 100644 --- a/bff-api/src/main/java/org/smartbit4all/bff/api/org/UserEditorPageApiImpl.java +++ b/bff-api/src/main/java/org/smartbit4all/bff/api/org/UserEditorPageApiImpl.java @@ -5,13 +5,13 @@ import java.util.UUID; import java.util.stream.Collectors; import org.smartbit4all.api.org.OrgApi; -import org.smartbit4all.api.org.PasswordEncoderApi; import org.smartbit4all.api.org.bean.User; import org.smartbit4all.api.userselector.bean.UserEditingModel; import org.smartbit4all.api.view.PageApiImpl; import org.smartbit4all.api.view.bean.UiActionRequest; import org.smartbit4all.api.view.bean.View; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.crypto.password.PasswordEncoder; public class UserEditorPageApiImpl extends PageApiImpl implements UserEditorPageApi { @@ -19,8 +19,8 @@ public class UserEditorPageApiImpl extends PageApiImpl @Autowired OrgApi orgApi; - @Autowired - private PasswordEncoderApi passwordEncoderApi; + @Autowired(required = false) + private PasswordEncoder passwordEncoder; public UserEditorPageApiImpl() { super(UserEditingModel.class); @@ -63,7 +63,7 @@ public void saveUser(UUID viewUuid, UiActionRequest request) { User user = pageModel.getUser(); - user.password(passwordEncoderApi.encode(user.getPassword())); + user.password(passwordEncoder.encode(user.getPassword())); if (orgApi.getActiveUsers().stream().map(User::getUri).collect(Collectors.toList()) .contains(user.getUri())) { diff --git a/sec/src/main/java/org/smartbit4all/sec/config/PlatformSecurityConfig.java b/sec/src/main/java/org/smartbit4all/sec/config/PlatformSecurityConfig.java index febe5dde8..7cd290767 100644 --- a/sec/src/main/java/org/smartbit4all/sec/config/PlatformSecurityConfig.java +++ b/sec/src/main/java/org/smartbit4all/sec/config/PlatformSecurityConfig.java @@ -1,8 +1,6 @@ package org.smartbit4all.sec.config; -import org.smartbit4all.api.org.PasswordEncoderApi; import org.smartbit4all.core.reactive.ObjectChangePublisher; -import org.smartbit4all.sec.localauth.PasswordEncoderApiImpl; import org.smartbit4all.sec.session.ObjectChangePublisherSpringSecAware; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -19,10 +17,4 @@ public ObjectChangePublisher objectChangePublisher() { return new ObjectChangePublisherSpringSecAware<>(); } - @Bean - public PasswordEncoderApi passwordEncoderApi() { - return new PasswordEncoderApiImpl(); - - } - } diff --git a/sec/src/main/java/org/smartbit4all/sec/localauth/PasswordEncoderApiImpl.java b/sec/src/main/java/org/smartbit4all/sec/localauth/PasswordEncoderApiImpl.java deleted file mode 100644 index 00fb0f150..000000000 --- a/sec/src/main/java/org/smartbit4all/sec/localauth/PasswordEncoderApiImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.smartbit4all.sec.localauth; - -import org.smartbit4all.api.org.PasswordEncoderApi; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.crypto.password.PasswordEncoder; - -public class PasswordEncoderApiImpl implements PasswordEncoderApi { - - @Autowired - PasswordEncoder passwordEncoder; - - @Override - public String encode(CharSequence rawPassword) { - return passwordEncoder.encode(rawPassword); - } - - @Override - public boolean matches(CharSequence rawPassword, String encodedPassword) { - return passwordEncoder.matches(rawPassword, encodedPassword); - } - - - -}