Files
keycloak-pattern/docs/spring-role-mapping.md
T

638 B

Keycloak realm roles to Spring authorization

realm_access.roles의 각 문자열을 ROLE_ prefix가 붙은 Spring authority로 변환한다. /api/adminhasRole("admin-role") 계약이므로 최종 authority는 ROLE_admin-role이다. hasRole("ROLE_admin-role")로 쓰면 prefix가 중복된다.

검증은 세 층으로 구성된다.

  • converter 단위 테스트: role claim과 claim 부재
  • MockMvc: regular 403, admin 200
  • 실제 Authorization Code + PKCE login: Keycloak token의 realm role을 Spring Resource Server가 변환해 regular 403/admin 200을 반환
./scripts/verify-spring-role-mapping.sh