Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Microsoft azure AD的春季启动安全性_Java_Spring_Spring Boot_Spring Security_Azure Active Directory - Fatal编程技术网

Java Microsoft azure AD的春季启动安全性

Java Microsoft azure AD的春季启动安全性,java,spring,spring-boot,spring-security,azure-active-directory,Java,Spring,Spring Boot,Spring Security,Azure Active Directory,目前正在使用node.js进行UI和spring引导进行后端Web服务。我们已向Microsoft azure注册UI,并从config.js发送所需的属性。 类似地,我希望使用相同的SSO注册表来保护后端Web服务 我在application.properties中提到了以下属性 azure.activedirectory.clientId="xyz" azure.activedirectory.clientSecret="123" azure.activedirectory.ActiveDi

目前正在使用node.js进行UI和spring引导进行后端Web服务。我们已向Microsoft azure注册UI,并从config.js发送所需的属性。 类似地,我希望使用相同的SSO注册表来保护后端Web服务

我在application.properties中提到了以下属性

azure.activedirectory.clientId="xyz"
azure.activedirectory.clientSecret="123"
azure.activedirectory.ActiveDirectoryGroups="groupname"
security.oauth2.client.clientAuthenticationScheme=form 
security.oauth2.client.scope=profile 
以及MySecurityConfig.java

@EnableOAuth2Sso
@EnableGlobalMethodSecurity(securedEnabled = true,
    prePostEnabled = true)

public class MySecurityConfig extends WebSecurityConfigurerAdapter {

@Autowired
private AADAuthenticationFilter aadAuthFilter;
@Autowired
OAuth2ClientContextFilter oAuth2ClientContextFilter;
protected void configure(HttpSecurity http) throws Exception {
     /* http.authorizeRequests()
          .anyRequest().authenticated()//any other request just need 
         authentication
          .and()
          .formLogin();//enable form login*/
         http.authorizeRequests().anyRequest().permitAll();
      http.addFilterAfter(aadAuthFilter, 
      UsernamePasswordAuthenticationFilter.class);

  }
}
当遵循azure active directory spring boot starter示例中提到的相同步骤时,我得到以下异常:

org.springframework.security.oauth2.client.resource.UserRedirectRequiredException: A redirect is required to get the users approval
        at org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider.getRedirectForAuthorization(AuthorizationCodeAccessTokenProvider.java:359) ~[spring-security-oauth2-2.0.14.RELEASE.jar:na]
        at org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider.obtainAccessToken(AuthorizationCodeAccessTokenProvider.java:205) ~[spring-security-oauth2-2.0.14.RELEASE.jar:na]
        at org.springframework.security.oauth2.client.OAuth2RestTemplate.acquireAccessToken(OAuth2RestTemplate.java:221) ~[spring-security-oauth2-2.0.14.RELEASE.jar:na]
        at org.springframework.security.oauth2.client.OAuth2RestTemplate.getAccessToken(OAuth2RestTemplate.java:173) ~[spring-security-oauth2-2.0.14.RELEASE.jar:na]
        at org.springframework.security.oauth2.client.filter.OAuth2ClientAuthenticationProcessingFilter.attemptAuthentication(OAuth2ClientAuthenticationProcessingFilter.java:105) ~[spring-security-oauth2-2.0.14.RELEASE.jar:na]
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) ~[spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) ~[spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) ~[spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
        at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100) ~[spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) ~[spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
        at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64) ~[spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) ~[spring-security-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]