Spring 引导 OAuth2 单点登录概念不起作用

Spring Boot OAuth2 Single Sign On Concept not working

我正在尝试开发 OAuth2 Client 具有单点登录功能的应用程序。我已经开发了 Authorization Server 并使用 Client Credentials flow 进行了测试,并且工作正常。但是当我尝试将授权码授予与单点登录一起使用时,我无法正确使用。当我访问经过身份验证的 URL 时,客户端应用程序会将我带到登录屏幕,但是一旦经过身份验证,我就会被重定向到回调 url ,这很好。但之后我无法访问任何 URL,因为所有经过身份验证的 URL 都会自动重定向到 CALL BACK url。我已允许在我的安全 class

中回叫 url

我的要求是一旦通过身份验证它通常会允许其他 urls 在身份验证之前它不应该允许任何 url.

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.ALWAYS)
              .and()
              .authorizeRequests()
              .antMatchers("/","/index.html", "/home.html", "/login**","/webjars/**", "/error**","/favicon.ico**","/oauth/token","/oauth/authorize**","/demo/1")
              .permitAll()
              .and()
              .authorizeRequests()
              .anyRequest().authenticated()
              .and()
              .formLogin().permitAll()
              .and()
              .httpBasic();

这里的回调 url 是 demo/1 并且 Spring 安全不允许任何其他 url 这里。

我的要求是一旦通过身份验证它应该允许其他 urls 通常在身份验证之前它不应该允许任何 url.

http.authorizeRequests().antMatchers("/","/resources/**", "/**").permitAll().anyRequest().authenticated().and().formLogin()
                .loginPage("/").permitAll().usernameParameter("username").passwordParameter("password")
                .loginProcessingUrl("/j_spring_security_check").failureUrl("/")
                .successHandler(myAuthenticationSuccessHandler()).and().logout().logoutSuccessUrl("/")
                .logoutUrl("/logout").invalidateHttpSession(true).deleteCookies("JSESSIONID").and().csrf().disable().headers().frameOptions().sameOrigin();