Я пытаюсь использовать oauth2 для аутентификации и авторизации для остальных API. с остальными api url как «/ users» и ролью userrole »определяется в keycloak.
Я использовал использованный keycloak для токена доступа jwt. Аутентификация работает нормально, но авторизация не работает.
Если я укажу hasRole, я всегда получаю запрещенную ошибку. Но если я удалю hasRole, аутентификация работает как положено.
@Configuration
@EnableWebSecurity
public class SecurityConfigurer extends WebSecurityConfigurerAdapter {
@Value("${spring.security.oauth2.resourceserver.jwt.jwk-set-uri}")
private String jwtSetUri;
@Override
public void configure(final HttpSecurity http) throws Exception {
http.cors().and()
.csrf()
.disable()
.authorizeRequests().
antMatchers("/users").hasRole("userrole").antMatchers("/users").authenticated()
.and().oauth2ResourceServer().jwt() ;
}
}