도메인 간 게시물로 자격 증명을 보내시겠습니까?
자격 증명이 있는 요청에 따르면 Firefox는 다음과 같은 경우에만 도메인 간 게시물과 함께 자격 증명을 보냅니다.
invocation.withCredentials = "true";
설정되어 있습니다. 하지만 jQuery의 Ajax API가 이를 위한 메커니즘을 제공하는 것 같지는 않습니다.
제가 놓친 게 있나요?제가 할 수 있는 다른 방법이 있을까요?
jQuery 1.5에서는 기능이 손상될 예정입니다.
jQuery 1.5.1 이후 xhrFields param을 사용해야 합니다.
$.ajaxSetup({
type: "POST",
data: {},
dataType: 'json',
xhrFields: {
withCredentials: true
},
crossDomain: true
});
문서: http://api.jquery.com/jQuery.ajax/
보고된 버그: http://bugs.jquery.com/ticket/8146
콜백을 사용하여 추가 파라미터를 설정할 수 있습니다.XMLHTTPRequest개체가 유일한 매개 변수로 전달됩니다.
아시다시피, 이런 종류의 교차 도메인 요청은 일반 사이트 시나리오에서는 작동하지 않으며 다른 브라우저에서도 작동하지 않습니다.FF 3.5가 어떤 보안 제한을 가하는지도 모릅니다. 괜히 벽에 머리를 부딪치지 않도록 말입니다.
$.ajax({
url: 'http://bar.other',
data: { whatever:'cool' },
type: 'GET',
beforeSend: function(xhr){
xhr.withCredentials = true;
}
});
한 가지 더 주의해야 할 점은 jQuery가 브라우저 차이를 정상화하도록 설정되어 있다는 것입니다.jQuery 라이브러리는 이러한 유형의 기능을 금지하는 추가적인 제한을 제공할 수 있습니다.
jQuery 3 이전 버전에서는 다음과 같은 간단한 구성이 개별 요청에 대해서도 작동합니다.
$.ajax(
'https://foo.bar.com,
{
dataType: 'json',
xhrFields: {
withCredentials: true
},
success: successFunc
}
);
Firefox Dev Tools -> Network 탭(개별 요청에 대한 Security 탭)에서 전체 오류가 발생했습니다.
foo.bar.com 에 연결하는 동안 오류가 발생했습니다.SSL 피어에서 허용 가능한 보안 매개 변수 집합을 협상할 수 없습니다.오류 코드: SSL_ERROR_HANDSHAKE_FAILURE_ALERT
언급URL : https://stackoverflow.com/questions/2054316/sending-credentials-with-cross-domain-posts
'programing' 카테고리의 다른 글
| get_the_post_thumbnail에서 이미지 소스 가져오기($post->ID); (0) | 2023.11.01 |
|---|---|
| 워드프레스 플러그인 끝점에 REST 경로를 등록할 위치 (0) | 2023.11.01 |
| Git: 커밋을 리버스 병합하는 방법? (0) | 2023.10.27 |
| (및 배열)의 크기는 얼마나 됩니까? (0) | 2023.10.27 |
| 쓰기가 버퍼에 지속적으로 4K 바이트를 남기는 이유는 무엇입니까? (0) | 2023.10.27 |