Tôi đang làm việc trên một API REST cho một ứng dụng web cho đến bây giờ chúng tôi đã phát triển nội bộ cho một vài ứng dụng đồng hành. Bây giờ chúng tôi đang xem xét việc mở cửa cho các nhà phát triển bên ngoài, chúng tôi muốn thêm mã thông báo vào API để giúp xác định ai đang đưa ra yêu cầu và nói chung để giúp quản lý việc sử dụng nó. Tại thời điểm này, chúng tôi đang sử dụng https và xác thực cơ bản để xác thực người dùng trên API.Phương pháp tiếp cận tốt cho sơ đồ mã thông báo API web?
Đề án mã thông báo mà chúng tôi đã thảo luận sẽ rất đơn giản khi mỗi nhà phát triển được chỉ định 1 hoặc nhiều mã thông báo và các mã thông báo này sẽ được chuyển thành thông số với mỗi yêu cầu.
Câu hỏi của tôi là nếu bạn đã làm điều gì đó tương tự trước khi bạn làm điều đó (bạn đã làm nhiều hay ít, bạn xử lý bảo mật, v.v) và bạn có đề xuất gì không?
Cảm ơn!
Đối với bất kỳ ai quan tâm, tôi đã viết một câu chuyện về cách chuyển từ bảo mật sang REST API an toàn mà không cần OAuth tại đây: http://www.thebuzzmedia.com/designing-a-secure-rest-api-without- oauth-authentication/ Vấn đề không phải là với nhận dạng (mã thông báo duy nhất, v.v.) là sự cố với việc đóng các vectơ tấn công và người mạo danh người dùng của bạn. Qua HTTP yêu cầu tổng kiểm tra hoặc "HMAC" - ký tất cả các giá trị trong yêu cầu bằng khóa bí mật mà chỉ máy khách và máy chủ biết. Qua HTTPS, dễ dàng hơn nhiều, một mã thông báo đơn giản hoạt động tốt. –