Я новичок в Springboot, поэтому, пожалуйста, потерпите меня.У нас есть веб-приложение Springboot, которое предоставляет несколько конечных точек (/ order, / mode).Эти API-интерфейсы будут вызываться из разных веб-сервисов (находящихся в Azure), и каждый из них будет передавать маркер носителя авторизации (индивидуальный идентификатор клиента приложения Azure) при вызове для аутентификации нашему приложению.
Поэтому мы хотим защитить нашуПриложение, чтобы принимать этот токен и разрешать вызовы только в том случае, если токен действителен.
Мне удалось защитить приложение Springboot для входа в систему пользователя, но не при вызове каких-либо сервисов через токен Bearer.Не могли бы вы помочь с этим.
Я следовал решению, предоставленному в этом блоге, но он принимает только токен, генерируемый одним идентификатором клиента http://blog.xebia.in/index.php/2017/12/21/spring-security-and-oauth2-with-azure-active-directory/
На данный момент ниже то, что у меня есть какчасть безопасности в моем коде, которая выполняет аутентификацию на основе пользователя
@ Autodired private AADAuthenticationFilter aadAuthFilter;
@Autowired
private OAuth2UserService<OidcUserRequest, OidcUser> oidcUserService;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable().authorizeRequests().antMatchers("/actuator/health").permitAll();
http.csrf().disable().authorizeRequests().anyRequest().fullyAuthenticated().and().oauth2Login()
.userInfoEndpoint().oidcUserService(oidcUserService);
http.addFilterBefore(aadAuthFilter, UsernamePasswordAuthenticationFilter.class);
}
Спасибо, Анжу