Angular sets the X-XSRF-TOKEN
header to the value of the XSRF-TOKEN
cookie:AngularJS가 X-XSRF-TOKEN 헤더를 JSON 문자열로 보내는 이유는 무엇입니까?
var xsrfValue = isSameDomain(config.url, $browser.url())
? $browser.cookies()[config.xsrfCookieName || defaults.xsrfCookieName]
: undefined;
if (xsrfValue) {
headers[(config.xsrfHeaderName || defaults.xsrfHeaderName)] = xsrfValue;
}
그러나, 하나 (예를 들면 레일 통합)
$cookieStore
를 사용
XSRF-TOKEN
쿠키를 설정하면 :
$cookieStore.put("XSRF-TOKEN", "my_token");
the cookie is stored as JSON string:
put: function(key, value) {
$cookies[key] = angular.toJson(value);
}
이 그 헤더 의미 여분의 큰 따옴표가 있습니다 :
X-XSRF-TOKEN my_token
:이 헤더는 다음과 같이 표시됩니다 있도록 헤더의 값을 설정할 때
X-XSRF-TOKEN "my_token"
왜 각도 fromJson()
를 호출하지 않습니다?
이렇게하면 서버 측에서 여분의 큰 따옴표를 제거하지 않아도됩니다.
내가 여기에 뭔가 분명한 것을 놓치고 있습니까?
참고 : 나는 해결 방법을 찾는 게 아니에요. 이 행동이 의도 된 행동인지 아닌지 이해하려고 노력하고 있습니다. 그렇다면 근거는 무엇입니까?
는 의도 된 행동인지 잘 모르겠지만, 그것은있을 수 있습니다 XSRF 토큰이 쿠키로 수신 될 때 인식되지 않도록하는 매우 바람직한 부작용입니다. 결국 브라우저는 모든 요청에 대해 쿠키를 보내므로 적절하게 읽을 수없는 쿠키에 토큰이 잘못 배치되면 우발적 인 보호 기능이 손상되지 않습니다. – atk