fix security configuration
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user