Trong HTTP, có một Authorization
tiêu đề cho điều đó.
Mặc dù nó thường được sử dụng để cung cấp thông tin đăng nhập của người dùng, nhưng trong trường hợp API, nó có thể chứa ID của máy khách và khóa API tương ứng.
Có một số lợi ích:
Hỗ trợ từ các khung khác nhau. Nhiều khung sẽ mong đợi Authorization
tiêu đề để thực hiện xác thực. Không sử dụng nó sẽ buộc phải viết mã bổ sung để cung cấp cho các khung đó với các giá trị tùy chỉnh.
Hỗ trợ từ các công cụ khác nhau. Ví dụ như CURL.
Ít hơn WTF, nơi tôi tìm / đặt khóa API này?!. Từ các nhà phát triển mới gia nhập nhóm (hoặc nhà phát triển thiết kế ứng dụng khách mới cho API của bạn).
Sau đó bạn có thể sử dụng các định nghĩa mã trạng thái HTTP như 401 Unauthorized
, mà :
Phản hồi PHẢI bao gồm trường tiêu đề WWW-xác thực [...] Máy khách có thể lặp lại yêu cầu với trường tiêu đề ủy quyền phù hợp.
Di chuyển nó đến cơ thể của yêu cầu có thể trở nên nhanh chóng đau đớn. Hầu hết các khung và công cụ không làm cho việc thêm phần thân vào yêu cầu trở nên rất đơn giản, điều này có thể khiến API của bạn trở nên khó khăn hơn mức cần thiết.