Добрый день,
Хочется разрешить пользователю с localhost работать с приложением без аутентификации. В тоже время приложение должно работать с аутентификацией когда запрос приходит
от другого хоста. Я пробовал код, что ниже, но безрезультатно. Например, я менял hasIPAddress на 127.0.0.2 и пробовал отправить запрос с Bearer token, но в результате failed(403). С другой стороны я могу отправлять запрос без какого-либо токена если я устанавливаю hasIPAddress как 127.0.0.1 и результат успешен
@Bean
public SecurityFilterChain resourceServerFilterChain(HttpSecurity http) throws Exception {
IpAddressMatcher hasIPAddress = new IpAddressMatcher("127.0.0.1");
http.authorizeHttpRequests(
auth -> {
auth.requestMatchers("/**")
.access(
(authentication, object) ->
new AuthorizationDecision(hasIPAddress.matches(object.getRequest())));
auth.anyRequest().authenticated();
});
return http.build();
}