Access-Control-Allow-Credentials header

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Tiêu đề HTTP Access-Control-Allow-Credentials phản hồi cho trình duyệt biết liệu máy chủ có cho phép thông tin xác thực được bao gồm trong các yêu cầu HTTP cross-origin hay không.

Thông tin xác thực bao gồm cookie, chứng chỉ máy khách Transport Layer Security (TLS), hoặc các tiêu đề xác thực chứa tên người dùng và mật khẩu. Theo mặc định, các thông tin xác thực này không được gửi trong các yêu cầu cross-origin, và việc làm như vậy có thể làm trang web dễ bị tấn công Cross-Site Request Forgery (CSRF).

Máy khách có thể yêu cầu thông tin xác thực được bao gồm trong các yêu cầu cross-site theo một số cách:

Khi thông tin xác thực được bao gồm:

  • Đối với các yêu cầu preflight: Yêu cầu preflight không bao gồm thông tin xác thực. Nếu phản hồi của máy chủ đối với yêu cầu preflight đặt tiêu đề Access-Control-Allow-Credentials thành true, thì yêu cầu thực tế sẽ bao gồm thông tin xác thực; nếu không, trình duyệt báo lỗi mạng.
  • Đối với các yêu cầu không preflight: Yêu cầu sẽ bao gồm thông tin xác thực, và nếu phản hồi của máy chủ không đặt tiêu đề Access-Control-Allow-Credentials thành true, trình duyệt báo lỗi mạng.
Loại tiêu đề Tiêu đề phản hồi

Cú pháp

http
Access-Control-Allow-Credentials: true

Chỉ thị

true

Máy chủ cho phép thông tin xác thực được bao gồm trong các yêu cầu HTTP cross-origin. Đây là giá trị hợp lệ duy nhất cho tiêu đề này và phân biệt chữ hoa/thường. Nếu bạn không cần thông tin xác thực, hãy bỏ qua hoàn toàn tiêu đề này thay vì đặt giá trị của nó thành false.

Ví dụ

Cho phép thông tin xác thực:

http
Access-Control-Allow-Credentials: true

Sử dụng fetch() với thông tin xác thực:

js
fetch(url, {
  credentials: "include",
});

Sử dụng XMLHttpRequest với thông tin xác thực:

js
const xhr = new XMLHttpRequest();
xhr.open("GET", "http://example.com/", true);
xhr.withCredentials = true;
xhr.send(null);

Thông số kỹ thuật

Thông số kỹ thuật
Fetch
# http-access-control-allow-credentials

Khả năng tương thích trình duyệt

Xem thêm