Java Spring Security OAuth(angular2上的独立客户端)
我在配置spring安全性和oauth2时遇到问题。 我在他们的页面上使用了一个教程,其中有一个angular1应用程序运行在同一个端口上,由Tomcat提供服务 我想用另一种方式做。我想做的是在不同的端口上运行一个完全独立的angular2应用程序 现在的问题是,应用程序只返回端口8080(spring应用程序),我不知道如何更改此行为 我的全部Java代码是:Java Spring Security OAuth(angular2上的独立客户端),java,spring,oauth,spring-security,angular,Java,Spring,Oauth,Spring Security,Angular,我在配置spring安全性和oauth2时遇到问题。 我在他们的页面上使用了一个教程,其中有一个angular1应用程序运行在同一个端口上,由Tomcat提供服务 我想用另一种方式做。我想做的是在不同的端口上运行一个完全独立的angular2应用程序 现在的问题是,应用程序只返回端口8080(spring应用程序),我不知道如何更改此行为 我的全部Java代码是: @SpringBootApplication @EnableOAuth2Sso @RestController public cla
@SpringBootApplication
@EnableOAuth2Sso
@RestController
public class SocialApplication extends WebSecurityConfigurerAdapter {
@RequestMapping("/user")
public Principal user(Principal principal) {
return principal;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/**")
.authorizeRequests()
.antMatchers("/", "/log**", "/login**", "/webjars/**")
.permitAll()
.anyRequest()
.authenticated()
.and().logout().logoutSuccessUrl("/").permitAll()
.and().csrf().csrfTokenRepository(csrfTokenRepository())
.and().addFilterAfter(csrfHeaderFilter(), CsrfFilter.class);
}
private Filter csrfHeaderFilter() {
return new OncePerRequestFilter() {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
FilterChain filterChain) throws ServletException, IOException {
CsrfToken csrf = (CsrfToken) request.getAttribute(CsrfToken.class.getName());
if (csrf != null) {
Cookie cookie = WebUtils.getCookie(request, "XSRF-TOKEN");
String token = csrf.getToken();
if (cookie == null || token != null && !token.equals(cookie.getValue())) {
cookie = new Cookie("XSRF-TOKEN", token);
cookie.setPath("/");
response.addCookie(cookie);
}
}
filterChain.doFilter(request, response);
}
};
}
private CsrfTokenRepository csrfTokenRepository() {
HttpSessionCsrfTokenRepository repository = new HttpSessionCsrfTokenRepository();
repository.setHeaderName("X-XSRF-TOKEN");
return repository;
}
public static void main(String[] args) {
SpringApplication.run(SocialApplication.class, args);
}
}
解决方案就在这里,我已经创建了一个教程。
您在使用Jhipster吗?这是一个重复的问题。检查答案不,我没有用jhipster