HTTP 407 không có thách thức Proxy-Authenticate dùng được
Kiểm tra tiêu đề xác thực của proxy khi ứng dụng khách không bao giờ gọi trình xử lý thông tin xác thực của nó hoặc nhận được trạng thái bất ngờ thay vì thách thức thông thường.
Ứng dụng khách không thể chọn cơ chế xác thực chỉ từ một số trạng thái. Phản hồi của proxy cần mô tả những gì nó chấp nhận.
HTTP yêu cầu proxy tạo 407 phải gửi thách thức Proxy-Authenticate. Với dịch vụ Basic, một ví dụ đơn giản là:
HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="Office proxy"
Trạng thái số, tên tiêu đề và cú pháp riêng của lược đồ đều quan trọng. Một trang lỗi có thương hiệu chứa từ authentication trong nội dung không thay thế được tiêu đề. Các triển khai tùy chỉnh cũng phải gửi phản hồi HTTP 407 đầy đủ, bao gồm phần kết thúc tiêu đề và khung nội dung.
Kiểm tra phản hồi đã đến ứng dụng khách này
Ghi lại các trường trạng thái và thách thức sau khi đã loại bỏ giá trị bí mật. Một bên trung gian có thể đã biến đổi phản hồi, hoặc proxy tùy chỉnh có thể đã tạo ra thách thức không hợp lệ. So sánh bằng chứng đó với nhật ký giao dịch của chính proxy.
Nếu dịch vụ gửi 405 hoặc lỗi khác thay vào đó, đừng dán nhãn lại mọi phản hồi như vậy thành 407 bên trong ứng dụng khách tùy chỉnh. Bạn sẽ che giấu những thất bại thật của chính sách phương thức và vẫn không có thương lượng lược đồ đáng tin cậy. Hãy sửa hành vi của dịch vụ hoặc dùng đường xác thực được hỗ trợ và có tài liệu của nó.
Nhiều thách thức cũng cần một bộ phân tích HTTP thực sự. Dấu phẩy có thể phân tách tham số hoặc thách thức; việc chia toàn bộ tiêu đề một cách mù quáng theo dấu phẩy có thể làm hỏng realm trong dấu ngoặc kép. Hãy dùng phần triển khai xác thực được ứng dụng khách hỗ trợ thay vì một loạt phép thay thế chuỗi.
Chỉ sau khi thách thức dùng được thì mới có ý nghĩa điều tra vì sao nhà cung cấp thông tin xác thực không trả lại tài khoản.