我有自己的映射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
答案 0 :(得分:2)
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
}
从Spring Security 4.0开始默认情况下启用CSRF保护,我现在删除了它,当时我的前端没有处理任何CSRF令牌。但是在将来,我将确保在每个POST请求中包含一个CSRF令牌。当然,根据一个人的意图CSRF
可能启用或不启用,唯一的&#34;坏&#34;关于启用CSRF
的部分是为我们的代码增加了更多的复杂性。