fix security configuration
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
dmitriy.churmeev
2026-03-29 13:43:14 +03:00
parent fe2ad86d0e
commit fc7f9964e5

View File

@@ -43,12 +43,22 @@ class WebSecurityConfig () {
private fun jwtAuthenticationConverter(): JwtAuthenticationConverter { private fun jwtAuthenticationConverter(): JwtAuthenticationConverter {
val converter = JwtAuthenticationConverter() val converter = JwtAuthenticationConverter()
// Извлекаем роли из поля realm_access.roles // Извлекаем роли из поля resource_access.test_client.roles
val authoritiesExtractor = JwtGrantedAuthoritiesConverter() val authoritiesExtractor = JwtGrantedAuthoritiesConverter()
authoritiesExtractor.setAuthoritiesClaimName("realm_access.roles") // где лежат роли authoritiesExtractor.setAuthoritiesClaimName("resource_access.test_client.roles") // где лежат роли
authoritiesExtractor.setAuthorityPrefix("ROLE_") // добавляем префикс ROLE_ authoritiesExtractor.setAuthorityPrefix("ROLE_") // добавляем префикс ROLE_
converter.setJwtGrantedAuthoritiesConverter(authoritiesExtractor) 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 return converter
} }