Skip to content

Commit 2cc74ee

Browse files
Thomasrludomikula
Thomasr
authored andcommitted
Set Password when linking with email auth
1 parent b5bd087 commit 2cc74ee

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public interface UserService {
4242

4343
Mono<Boolean> addNewConnection(String userId, Connection connection);
4444

45-
Mono<User> addNewConnectionAndReturnUser(String userId, Connection connection);
45+
Mono<User> addNewConnectionAndReturnUser(String userId, AuthUser authUser);
4646

4747
Mono<Void> deleteProfilePhoto(User visitor);
4848

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,11 +215,17 @@ public Mono<Boolean> addNewConnection(String userId, Connection connection) {
215215
}
216216

217217
@Override
218-
public Mono<User> addNewConnectionAndReturnUser(String userId, Connection connection) {
218+
public Mono<User> addNewConnectionAndReturnUser(String userId, AuthUser authUser) {
219+
Connection connection = authUser.toAuthConnection();
219220
return findById(userId)
220221
.doOnNext(user -> {
221222
user.getConnections().add(connection);
222223
user.setActiveAuthId(connection.getAuthId());
224+
225+
if (AuthSourceConstants.EMAIL.equals(authUser.getSource())
226+
&& authUser.getAuthContext() instanceof FormAuthRequestContext formAuthRequestContext) {
227+
user.setPassword(encryptionService.encryptPassword(formAuthRequestContext.getPassword()));
228+
}
223229
})
224230
.flatMap(repository::save);
225231
}

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/service/AuthenticationApiServiceImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public Mono<User> updateOrCreateUser(AuthUser authUser, boolean linkExistingUser
151151

152152
if(linkExistingUser) {
153153
return sessionUserService.getVisitor()
154-
.flatMap(user -> userService.addNewConnectionAndReturnUser(user.getId(), authUser.toAuthConnection()));
154+
.flatMap(user -> userService.addNewConnectionAndReturnUser(user.getId(), authUser));
155155
}
156156

157157
return findByAuthUserSourceAndRawId(authUser).zipWith(findByAuthUserRawId(authUser))
@@ -171,7 +171,7 @@ public Mono<User> updateOrCreateUser(AuthUser authUser, boolean linkExistingUser
171171
// found for the same id in some different connection, then just add a new connection to the user
172172
if(findByAuthUserSecond.userExist()) {
173173
User user = findByAuthUserSecond.user();
174-
return userService.addNewConnectionAndReturnUser(user.getId(), authUser.toAuthConnection());
174+
return userService.addNewConnectionAndReturnUser(user.getId(), authUser);
175175
}
176176

177177
// if the user is logging/registering via OAuth provider for the first time,

0 commit comments

Comments
 (0)