Vì vậy, tôi đang phát triển một dịch vụ web REST bằng RESTeasy và Google App Engine. Câu hỏi của tôi không liên quan đến GAE, nhưng tôi đã đề cập nó trong trường hợp nó quan trọng. Điều đó xảy ra một cách tự nhiên là tôi cần phải bảo vệ tài nguyên và người dùng của riêng mình (không phải của Google).Xác thực HTTP REST - Cách thực hiện?
Đảm bảo một webservice REST có vẻ như là một chủ đề rất gây tranh cãi, hoặc ít nhất là một chủ đề rất tự do. REST không áp đặt bất kỳ tiêu chuẩn nào về vấn đề này. Từ những gì tôi đã nghiên cứu trên web và văn học, có ít nhất 3 phương pháp mà tôi nghĩ rằng có thể phù hợp trong ứng dụng của tôi:
- HTTP Basic (hỗ trợ SSL)
- HTTP Digest (với SSL)
- OAuth
OAuth có vẻ như cách tiếp cận đầy đủ nhất. Nhưng tôi không nghĩ rằng sự phức tạp như vậy là cần thiết vì tôi sẽ không cần phải cho phép bất kỳ ứng dụng của bên thứ ba nào. Đây là một dịch vụ web chỉ được sử dụng bởi các ứng dụng khách của riêng tôi.
HTTP Basic và HTTP Digest xuất hiện như những người đơn giản nhất trên web, nhưng thực tế là tôi đã không bao giờ tìm thấy một thực hiện cụ thể trong số họ sử dụng RESTeasy, ví dụ. Tôi đã tìm thấy this page và this one trong tài liệu của RESTeasy. Họ thực sự rất thú vị, nhưng họ nói ít hoặc không có gì về chủ đề này (HTTP Basic hoặc Digest).
Vì vậy, ở đây tôi đang hỏi:
Làm thế nào để đảm bảo WebService tôi sử dụng HTTP Basic hoặc Digest trong RESTeasy?
Có lẽ nó đơn giản đến mức không đáng nhắc đến trong tài liệu hoặc ở bất kỳ nơi nào khác? Ngoài ra, nếu có ai đó có thể cung cấp cho tôi một số thông tin chi tiết về vấn đề bảo mật các dịch vụ web RESTful, nó có thể hữu ích.
Tôi có chọn đúng cách tiếp cận không?
Hãy xem http://stackoverflow.com/questions/6296740/authentication-in-play-and-resteasy –
Xin lỗi, nhưng bạn đang làm một vài điều sai ở đây. 1) bạn đã cập nhật câu hỏi bằng câu trả lời/câu trả lời một phần. Nếu bạn đã tìm thấy câu trả lời là * không * được cung cấp bởi bất kỳ ai khác, bạn nên thêm câu trả lời đó và đánh dấu nó là được chấp nhận. Nếu người khác cung cấp câu trả lời, thì bạn nên đánh dấu * rằng * câu trả lời là được chấp nhận. 2) Nếu bạn có câu hỏi * bổ sung *, sau đó hỏi * một câu hỏi * khác, không * thêm * vào câu hỏi của bạn sẽ làm mất hiệu lực câu trả lời đã đưa ra. – casperOne
@casperOne, bạn nói đúng, xin lỗi. Đây là câu hỏi đầu tiên của tôi ở đây trong Stack Overflow. Cảm ơn. – miguelcobain