在Spring安全性中@ EnableOAuth2Sso之后出现错误403

时间:2017-04-13 18:08:27

标签: spring post spring-security oauth-2.0 spring-security-oauth2

我有自己的映射setCred/,当它通过http POST请求调用时,它返回403错误。但当我删除@EnableOAuth2Sso时,一切正常。 我不知道我在这里失去了什么部分。

@EnableOAuth2Sso
@Controller
public class TestAPI {
    @RequestMapping(value = "/setCred", method = RequestMethod.POST, consumes = "application/json", produces = "text/plain")
    public ResponseEntity<?> setCred(@RequestBody StringToken json) throws JsonParseException, JsonMappingException, IOException {
            ResponseEntity<?> res = null;
....

我的最终目标是在我的网页上添加facebook login(来自https://spring.io/guides/tutorials/spring-boot-oauth2/

security.basic.enabled=false

中也有application.properties

1 个答案:

答案 0 :(得分:2)

protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();
}

从Spring Security 4.0开始默认情况下启用CSRF保护,我现在删除了它,当时我的前端没有处理任何CSRF令牌。但是在将来,我将确保在每个POST请求中包含一个CSRF令牌。当然,根据一个人的意图CSRF可能启用或不启用,唯一的&#34;坏&#34;关于启用CSRF的部分是为我们的代码增加了更多的复杂性。