Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2655e5c

Browse files
Thomasrludomikula
Thomasr
authored andcommitted
#1322: Expose email in currentUser endpoint.
Add userAuth(jwt, provider) to the currentUser endpoint.
1 parent6828af9 commit2655e5c

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/UserDetail.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,5 @@ public class UserDetail {
3131
privateStringip;
3232
privateList<Map<String,String>>groups;
3333
privateMap<String,Object>extra;
34+
privateMap<String,Object>userAuth;
3435
}

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

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
importorg.apache.commons.lang3.ObjectUtils;
99
importorg.apache.commons.lang3.RandomStringUtils;
1010
importorg.apache.commons.lang3.StringUtils;
11+
importorg.jetbrains.annotations.NotNull;
1112
importorg.lowcoder.domain.asset.model.Asset;
1213
importorg.lowcoder.domain.asset.service.AssetService;
1314
importorg.lowcoder.domain.authentication.AuthenticationService;
@@ -197,8 +198,10 @@ public Mono<Boolean> bindEmail(User user, String email) {
197198
.source(AuthSourceConstants.EMAIL)
198199
.name(email)
199200
.rawId(email)
201+
.email(email)
200202
.build();
201203
user.getConnections().add(connection);
204+
user.setEmail(email);
202205
returnrepository.save(user)
203206
.then(Mono.just(true))
204207
.onErrorResume(throwable -> {
@@ -215,6 +218,7 @@ public Mono<User> addNewConnectionAndReturnUser(String userId, AuthUser authUser
215218
returnfindById(userId)
216219
.doOnNext(user -> {
217220
user.getConnections().add(connection);
221+
if(StringUtils.isEmpty(user.getEmail()))user.setEmail(connection.getEmail());
218222
user.setActiveAuthId(connection.getAuthId());
219223

220224
if (AuthSourceConstants.EMAIL.equals(authUser.getSource())
@@ -360,20 +364,41 @@ public Mono<UserDetail> buildUserDetail(User user, boolean withoutDynamicGroups)
360364
.map(tuple2 -> {
361365
OrgMemberorgMember =tuple2.getT1();
362366
List<Map<String,String>>groups =tuple2.getT2();
367+
StringactiveAuthId =user.getActiveAuthId();
368+
Optional<Connection>connection =user.getConnections().stream().filter(con ->con.getAuthId().equals(activeAuthId)).findFirst();
369+
HashMap<String,Object>userAuth =connectionToUserAuthDetail(connection);
363370
returnUserDetail.builder()
364371
.id(user.getId())
365372
.name(StringUtils.isEmpty(user.getName())?user.getId():user.getName())
366373
.avatarUrl(user.getAvatarUrl())
367374
.uiLanguage(user.getUiLanguage())
368-
.email(convertEmail(user.getConnections()))
375+
.email(user.getEmail())
369376
.ip(ip)
370377
.groups(groups)
371378
.extra(getUserDetailExtra(user,orgMember.getOrgId()))
379+
.userAuth(userAuth)
372380
.build();
373381
});
374382
});
375383
}
376384

385+
privatestatic@NotNullHashMap<String,Object>connectionToUserAuthDetail(Optional<Connection>connection) {
386+
HashMap<String,Object>userAuth =newHashMap<String,Object>();
387+
if(connection.isPresent()) {
388+
if(connection.get().getSource().equals(AuthSourceConstants.EMAIL)) {
389+
userAuth.put("jwt","");
390+
userAuth.put("provider",AuthSourceConstants.EMAIL);
391+
}elseif(connection.get().getAuthConnectionAuthToken() !=null) {
392+
userAuth.put("jwt",connection.get().getAuthConnectionAuthToken().getAccessToken());
393+
userAuth.put("provider",connection.get().getSource());
394+
}else {
395+
userAuth.put("jwt","");
396+
userAuth.put("provider",connection.get().getSource());
397+
}
398+
}
399+
returnuserAuth;
400+
}
401+
377402
/**
378403
* In enterprise mode, user can be deleted and then related connections should be released here by appending a timestamp after the source field.
379404
*/

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp