针对Azure的SpringBoot + Web API承载令牌安全性

时间:2019-03-22 17:26:52

标签: azure spring-boot

我是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);
}

谢谢, 安居

0 个答案:

没有答案