Khi một API yêu cầu khách hàng xác thực nó, tôi đã thấy hai kịch bản khác nhau được sử dụng và tôi tự hỏi tôi nên sử dụng trường hợp nào cho tình huống của mình.
Ví dụ 1. API được cung cấp bởi một công ty để cho phép các bên thứ ba xác thực bằng mã thông báo và bí mật bằng HTTP Basic.
Ví dụ 2. API chấp nhận tên người dùng và mật khẩu qua HTTP Basic để xác thực người dùng cuối. Nói chung, họ nhận được mã thông báo cho các yêu cầu trong tương lai.
Thiết lập của tôi: Tôi sẽ có API JSON mà tôi sử dụng làm phụ trợ cho ứng dụng di động và web. Có vẻ như cách tốt cho cả ứng dụng di động và web để gửi mã thông báo và bí mật để chỉ hai ứng dụng này có thể truy cập API chặn bất kỳ bên thứ ba nào khác.
Nhưng ứng dụng di động và web cho phép người dùng đăng nhập và gửi bài đăng, xem dữ liệu của họ, v.v. Vì vậy, tôi cũng muốn họ đăng nhập qua HTTP Basic theo từng yêu cầu.
Tôi bằng cách nào đó có sử dụng kết hợp cả hai phương pháp này hay chỉ gửi thông tin đăng nhập của người dùng cuối (tên người dùng và mã thông báo) cho mỗi yêu cầu? Nếu tôi chỉ gửi thông tin đăng nhập của người dùng cuối, tôi có lưu trữ chúng trong cookie trên máy khách không?