summaryrefslogtreecommitdiff
path: root/src/main/kotlin/dev/dnpm/etl
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/dev/dnpm/etl')
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt38
1 files changed, 21 insertions, 17 deletions
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt
index b87a1bd..3f51420 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppSecurityConfiguration.kt
@@ -131,24 +131,28 @@ class AppSecurityConfiguration(private val securityConfigProperties: SecurityCon
appSecurityConfigProperties: SecurityConfigProperties,
): GrantedAuthoritiesMapper {
return GrantedAuthoritiesMapper { grantedAuthority ->
- grantedAuthority
- .filterIsInstance<OidcUserAuthority>()
- .onEach {
- val userRole = userRoleRepository.findByUsername(it.userInfo.preferredUsername)
- if (userRole.isEmpty) {
- userRoleRepository.save(
- UserRole(
- null,
- it.userInfo.preferredUsername,
- appSecurityConfigProperties.defaultNewUserRole,
- )
- )
+ grantedAuthority
+ .asSequence()
+ .filterIsInstance<OidcUserAuthority>()
+ .map { it.userInfo?.preferredUsername.orEmpty() }
+ .filter { it.isNotBlank() }
+ .onEach {
+ val userRole = userRoleRepository.findByUsername(it)
+ if (userRole.isEmpty) {
+ userRoleRepository.save(
+ UserRole(
+ null,
+ it,
+ appSecurityConfigProperties.defaultNewUserRole,
+ )
+ )
+ }
}
- }
- .map {
- val userRole = userRoleRepository.findByUsername(it.userInfo.preferredUsername)
- SimpleGrantedAuthority("ROLE_${userRole.get().role.toString().uppercase()}")
- }
+ .map {
+ val userRole = userRoleRepository.findByUsername(it)
+ SimpleGrantedAuthority("ROLE_${userRole.get().role.toString().uppercase()}")
+ }
+ .toList()
}
}