我是Springboot的新手,所以请多多包涵。我们有一个Springboot Web App,它公开了多个端点(/ order,/ modes)。这些API将通过不同的Web服务(位于Azure中)进行调用,并且每个API都会在对我们的应用进行身份验证的调用中传递授权承载令牌(单个Azure应用客户端ID)。
所以我们要保护我们的应用程序安全,接受此令牌并仅在令牌有效时才允许调用。
我能够保护springboot应用程序的用户登录名,但无法通过Bearer令牌调用任何服务。您能帮忙吗?
我遵循了此博客中提供的解决方案,但它仅接受由单个客户ID http://blog.xebia.in/index.php/2017/12/21/spring-security-and-oauth2-with-azure-active-directory/产生的令牌
到目前为止,我的代码中的安全部分是基于用户身份验证的
@自动连线 私有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);
}
谢谢, 安居