diff --git a/src/main/kotlin/com/auth/config/WebSecurityConfig.kt b/src/main/kotlin/com/auth/config/WebSecurityConfig.kt index 5a4235e..b90fd24 100644 --- a/src/main/kotlin/com/auth/config/WebSecurityConfig.kt +++ b/src/main/kotlin/com/auth/config/WebSecurityConfig.kt @@ -43,12 +43,22 @@ class WebSecurityConfig () { private fun jwtAuthenticationConverter(): JwtAuthenticationConverter { val converter = JwtAuthenticationConverter() - // Извлекаем роли из поля realm_access.roles + // Извлекаем роли из поля resource_access.test_client.roles val authoritiesExtractor = JwtGrantedAuthoritiesConverter() - authoritiesExtractor.setAuthoritiesClaimName("realm_access.roles") // где лежат роли + authoritiesExtractor.setAuthoritiesClaimName("resource_access.test_client.roles") // где лежат роли authoritiesExtractor.setAuthorityPrefix("ROLE_") // добавляем префикс ROLE_ converter.setJwtGrantedAuthoritiesConverter(authoritiesExtractor) + +// // Дополнительно: проверяем, что роли не пустые +// converter.setJwtGrantedAuthoritiesConverter { jwt -> +// val authorities = authoritiesExtractor.convert(jwt) +// if (authorities.isEmpty()) { +// throw IllegalArgumentException("User has no roles assigned in token") +// } +// authorities +// } + return converter }