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

Commitef8adcd

Browse files
Thomasrludomikula
Thomasr
authored andcommitted
Add group mapping for oauth provider
1 parent873e468 commitef8adcd

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ public class AuthUser {
2525

2626
privateStringorgId;
2727

28+
// Add groupId for group mapping
29+
privateStringgroupId;
30+
2831
privateAuthRequestContextauthContext;
2932

3033
/**

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

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
importorg.lowcoder.domain.authentication.FindAuthConfig;
2424
importorg.lowcoder.domain.authentication.context.AuthRequestContext;
2525
importorg.lowcoder.domain.authentication.context.FormAuthRequestContext;
26+
importorg.lowcoder.domain.group.model.GroupMember;
27+
importorg.lowcoder.domain.group.service.GroupMemberService;
28+
importorg.lowcoder.domain.organization.model.MemberRole;
2629
importorg.lowcoder.domain.organization.model.OrgMember;
2730
importorg.lowcoder.domain.organization.model.Organization;
2831
importorg.lowcoder.domain.organization.model.OrganizationDomain;
@@ -73,6 +76,7 @@ public class AuthenticationApiServiceImpl implements AuthenticationApiService {
7376
privatefinalJWTUtilsjwtUtils;
7477
privatefinalAuthPropertiesauthProperties;
7578
privatefinalCommonConfigcommonConfig;
79+
privatefinalGroupMemberServicegroupMemberService;
7680

7781
@Override
7882
publicMono<AuthUser>authenticateByForm(StringloginId,Stringpassword,Stringsource,booleanregister,StringauthId,StringorgId) {
@@ -143,7 +147,7 @@ public Mono<Void> loginOrRegister(AuthUser authUser, ServerWebExchange exchange,
143147
returnMono.empty();
144148
})
145149
// after login
146-
.delayUntil(user ->onUserLogin(authUser.getOrgId(),user,authUser.getSource()))
150+
.delayUntil(user ->onUserLogin(authUser.getOrgId(),user,authUser.getSource(),authUser.getGroupId()))
147151
// process invite
148152
.delayUntil(__ -> {
149153
if (StringUtils.isBlank(invitationId)) {
@@ -241,7 +245,7 @@ public Mono<Void> onUserRegister(User user, boolean isSuperAdmin) {
241245
returnorganizationService.createDefault(user,isSuperAdmin).then();
242246
}
243247

244-
protectedMono<Void>onUserLogin(StringorgId,Useruser,Stringsource) {
248+
protectedMono<Void>onUserLogin(StringorgId,Useruser,Stringsource,StringgroupId) {
245249
Mono<String>orgMono;
246250
if(commonConfig.getWorkspace().getMode() ==WorkspaceMode.ENTERPRISE) {
247251
orgMono =organizationService.getOrganizationInEnterpriseMode().map(HasIdAndAuditing::getId);
@@ -251,7 +255,14 @@ protected Mono<Void> onUserLogin(String orgId, User user, String source) {
251255
}
252256
orgMono =Mono.just(orgId);
253257
}
254-
returnorgMono.flatMap(orgId2 ->orgApiService.tryAddUserToOrgAndSwitchOrg(orgId2,user.getId())).then();
258+
Mono<GroupMember>groupMember =groupMemberService.getGroupMember(groupId,user.getId()).switchIfEmpty(Mono.defer(() -> {
259+
GroupMembergroupMember1 =GroupMember.builder()
260+
.groupId(groupId)
261+
.userId(user.getId())
262+
.build();
263+
returngroupMemberService.addMember(orgId,groupId,user.getId(),MemberRole.MEMBER).thenReturn(groupMember1);
264+
}));
265+
returnorgMono.flatMap(orgId2 ->orgApiService.tryAddUserToOrgAndSwitchOrg(orgId2,user.getId())).then(groupMember).then();
255266
}
256267

257268
@Override

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/util/AuthenticationUtils.java‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,14 @@ public static AuthUser mapToAuthUser(Map<String, Object> map, HashMap<String, St
9393
if(StringUtils.isEmpty(username))username =email;
9494
if(StringUtils.isEmpty(username))username =uid;
9595
Stringavatar =AdvancedMapUtils.getString(map,MapUtils.getString(sourceMappings,"avatar"));
96+
// Add group id mapping
97+
StringgroupId =AdvancedMapUtils.getString(map,MapUtils.getString(sourceMappings,"group_id"));
9698
returnAuthUser.builder()
9799
.uid(uid)
98100
.username(username)
99101
.email(email)
100102
.avatar(avatar)
103+
.groupId(groupId)// Make sure AuthUser has this field and builder method
101104
.rawUserInfo(map)
102105
.build();
103106
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp