Skip to content

Commit 0b305de

Browse files
committed
Reput everything
1 parent 510cf50 commit 0b305de

7 files changed

Lines changed: 37 additions & 240 deletions

File tree

openaev-api/src/main/java/io/openaev/config/security/SecurityService.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66

77
import io.openaev.database.model.Tenant;
88
import io.openaev.database.model.User;
9+
import io.openaev.database.repository.TenantRepository;
910
import io.openaev.database.repository.UserRepository;
1011
import io.openaev.service.UserMappingService;
1112
import io.openaev.service.UserService;
12-
import io.openaev.service.tenants.TenantService;
1313
import io.openaev.service.user_events.UserEventService;
1414
import jakarta.persistence.EntityNotFoundException;
1515
import jakarta.validation.constraints.NotBlank;
@@ -40,7 +40,7 @@ public class SecurityService {
4040
private final UserMappingService userMappingService;
4141
private final Environment env;
4242
private final UserEventService userEventService;
43-
private final TenantService tenantService;
43+
private final TenantRepository tenantRepository;
4444

4545
public User userManagement(
4646
String emailAttribute,
@@ -114,7 +114,11 @@ private void attachTenant(String registrationId, User user) {
114114
return;
115115
}
116116
try {
117-
Tenant tenant = tenantService.findById(tenantId);
117+
Tenant tenant =
118+
tenantRepository
119+
.findById(tenantId)
120+
.orElseThrow(() -> new EntityNotFoundException("Tenant not found: " + tenantId));
121+
;
118122
user.getTenants().add(tenant);
119123
} catch (EntityNotFoundException e) {
120124
log.warn("SSO tenant ID '{}' configured but not found in database", tenantId);

openaev-api/src/main/java/io/openaev/service/UserMappingService.java

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,9 @@
55
import com.fasterxml.jackson.core.type.TypeReference;
66
import com.fasterxml.jackson.databind.ObjectMapper;
77
import io.openaev.database.model.Group;
8-
import io.openaev.database.model.Tenant;
98
import io.openaev.database.model.User;
109
import io.openaev.database.repository.GroupRepository;
11-
import io.openaev.service.tenants.TenantService;
1210
import io.openaev.sso.GroupMapping;
13-
import jakarta.persistence.EntityNotFoundException;
1411
import jakarta.validation.constraints.NotBlank;
1512
import java.io.IOException;
1613
import java.util.ArrayList;
@@ -32,7 +29,6 @@
3229
public class UserMappingService {
3330

3431
private final GroupRepository groupRepository;
35-
private final TenantService tenantService;
3632
private final Environment env;
3733
public static final String ROLES_PATH_SUFFIX = "roles_path";
3834
public static final String GROUPS_PATH_SUFFIX = "groups_path";
@@ -68,7 +64,6 @@ public void mapCurrentUserWithGroup(String property, User user, List<String> gro
6864
log.error("Did not create new group");
6965
}
7066
}
71-
attachTenantFromGroupMapping(mapping, user);
7267
} else {
7368
log.error(String.format("No corresponding group found for group %s", role));
7469
}
@@ -91,35 +86,14 @@ public void mapCurrentUserWithGroup(String property, User user, List<String> gro
9186
private static List<GroupMapping> safeParseMappings(String json) {
9287
ObjectMapper mapper = new ObjectMapper();
9388
try {
94-
return mapper.readValue(json, new TypeReference<>() {});
89+
return mapper.readValue(json, new TypeReference<List<GroupMapping>>() {});
9590
} catch (IOException e) {
9691
// Log and return empty list instead of throwing
97-
log.error("Failed to parse group mappings: {}", e.getMessage(), e);
92+
System.err.println("Failed to parse mappings: " + e.getMessage());
9893
return List.of();
9994
}
10095
}
10196

102-
/**
103-
* Attaches the user to the tenant configured in the group mapping, if any. Skips if tenantId is
104-
* not set, the user is already attached, or the tenant is not found.
105-
*/
106-
private void attachTenantFromGroupMapping(GroupMapping mapping, User user) {
107-
String tenantId = mapping.getTenantId();
108-
if (tenantId == null || tenantId.isBlank()) {
109-
return;
110-
}
111-
boolean alreadyAttached = user.getTenants().stream().anyMatch(t -> t.getId().equals(tenantId));
112-
if (alreadyAttached) {
113-
return;
114-
}
115-
try {
116-
Tenant tenant = tenantService.findById(tenantId);
117-
user.getTenants().add(tenant);
118-
} catch (EntityNotFoundException e) {
119-
log.warn("Group mapping tenant ID '{}' configured but not found in database", tenantId);
120-
}
121-
}
122-
12397
/**
12498
* Extract the roles from a user
12599
*

openaev-api/src/main/java/io/openaev/sso/GroupMapping.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,4 @@ public class GroupMapping {
1414

1515
@JsonProperty("autoCreate")
1616
private boolean autoCreate;
17-
18-
@JsonProperty("tenantId")
19-
private String tenantId;
2017
}

openaev-api/src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,6 @@ openaev.auth-saml2-enable=false
169169
# openaev.provider.{registrationId}.roles_admin=
170170
# openaev.provider.{registrationId}.audience=
171171
# openaev.provider.{registrationId}.groups_management=
172-
# openaev.provider.{registrationId}.tenant_id=
173172

174173
## Kerberos
175174
openaev.auth-kerberos-enable=false

openaev-api/src/test/java/io/openaev/config/security/SecurityServiceTest.java

Lines changed: 0 additions & 150 deletions
This file was deleted.

0 commit comments

Comments
 (0)