Proxy-Authenticate 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 Proxy-Authenticate response header xác định phương pháp xác thực (hoặc thử thách) nên được sử dụng để có quyền truy cập vào tài nguyên đằng sau proxy server.
Nó được gửi trong phản hồi 407 Proxy Authentication Required để máy khách có thể xác định mình với proxy yêu cầu xác thực.
| Loại tiêu đề | Response header |
|---|
Cú pháp
Proxy-Authenticate: <challenge>, …
Giá trị là danh sách các thử thách phân tách bằng dấu phẩy, trong đó <challenge> bao gồm <auth-scheme>, theo sau là <token68> tùy chọn hoặc danh sách <auth-params> phân tách bằng dấu phẩy:
challenge = <auth-scheme> <auth-param>, …, <auth-paramN> challenge = <auth-scheme> <token68>
Ví dụ:
Proxy-Authenticate: <auth-scheme>
Proxy-Authenticate: <auth-scheme> token68
Proxy-Authenticate: <auth-scheme> auth-param1=param-token1
Proxy-Authenticate: <auth-scheme> auth-param1=param-token1, …, auth-paramN=param-tokenN
Sự hiện diện của token68 hoặc các tham số xác thực phụ thuộc vào <auth-scheme> được chọn.
Ví dụ: xác thực Basic yêu cầu <realm>, và cho phép sử dụng tùy chọn khóa charset, nhưng không hỗ trợ token68:
Proxy-Authenticate: Basic realm="Dev", charset="UTF-8"
Chỉ thị
<auth-scheme>-
Token không phân biệt chữ hoa chữ thường chỉ báo phương án xác thực được sử dụng. Một số loại phổ biến hơn là
Basic,Digest,NegotiatevàAWS4-HMAC-SHA256. IANA duy trì danh sách các phương án xác thực, nhưng có các phương án khác được các dịch vụ máy chủ cung cấp. <auth-param>Optional-
Tham số xác thực có định dạng phụ thuộc vào
<auth-scheme>.<realm>được mô tả bên dưới vì nó là tham số xác thực phổ biến trong nhiều phương án auth.<realm>Optional-
Chuỗi
realmtheo sau=và chuỗi được trích dẫn mô tả vùng được bảo vệ, ví dụrealm="staging environment". Realm cho phép máy chủ phân vùng các vùng nó bảo vệ (nếu được hỗ trợ bởi phương án cho phép phân vùng như vậy). Một số máy khách hiển thị giá trị này cho người dùng để thông báo về thông tin xác thực cụ thể nào được yêu cầu — mặc dù hầu hết trình duyệt đã ngừng làm như vậy để chống phishing. Bộ ký tự được hỗ trợ đáng tin cậy duy nhất cho giá trị này làus-ascii. Nếu không có realm nào được chỉ định, máy khách thường hiển thị tên máy chủ được định dạng thay thế.
<token68>Optional-
Token có thể hữu ích cho một số phương án. Token cho phép 66 ký tự URI không dành riêng cộng thêm một vài ký tự khác. Nó có thể giữ mã hóa base64, base64url, base32, hoặc base16 (hex), có hoặc không có padding, nhưng không bao gồm khoảng trắng. Thay thế
token68cho danh sách auth-param được hỗ trợ để nhất quán với các phương án xác thực cũ.
Thông thường, bạn sẽ cần kiểm tra các thông số kỹ thuật liên quan cho các tham số xác thực cần thiết cho mỗi <auth-scheme>.
Note:
Xem WWW-Authenticate để biết thêm chi tiết về các tham số xác thực.
Ví dụ
>Xác thực Basic với Proxy-Authenticate
Phản hồi sau chỉ báo rằng cần phương án xác thực Basic với realm:
Proxy-Authenticate: Basic realm="Staging server"
Đặc tả
| Specification |
|---|
| HTTP Semantics> # field.proxy-authenticate> |