Tốt câu hỏi, và chúng tôi đang có một cuộc thảo luận tốt trên hơn này tại Craft API:
https://groups.google.com/group/api-craft/browse_thread/thread/b87fd667cccb9c00
Dưới đây là câu trả lời mà tôi đăng ở đó:
Tôi nghĩ rằng đây là một sử dụng tốt trường hợp cho OAuth, thực sự.
Trước hết, với OAuth, ứng dụng di động của bạn có thể lưu trữ mã thông báo OAuth trên máy khách thay vì mật khẩu "thực" của người dùng.Vì vậy, bạn có thể tự động "đăng nhập người dùng" bằng cách nhận mã thông báo OAuth mà không phải lưu trữ mật khẩu thực trên thiết bị. Nếu người dùng mất thiết bị hoặc nếu bị xâm phạm, họ (hoặc bạn) có thể xóa mã thông báo OAuth mà không yêu cầu người dùng thay đổi mật khẩu và thổi đi những thứ khác mà họ có thể đang thực hiện với API của bạn. Có những ví dụ tương tự cho một ứng dụng web kiểu Ajax nhưng nó phụ thuộc nhiều hơn vào cách cụ thể mà bạn xây dựng ứng dụng khách.
Thứ hai, mã thông báo OAuth được liên kết với khóa duy nhất xác định ứng dụng đang thực hiện cuộc gọi API và xác định nhà phát triển đã tạo ứng dụng. Điều đó cung cấp cho bạn các tùy chọn như theo dõi mức sử dụng theo ứng dụng, tắt ứng dụng có thể đã bị xâm phạm mà không vô hiệu hóa toàn bộ API và nếu bạn muốn mở quyền truy cập cho bên thứ ba hoặc đối tác xây dựng ứng dụng cho API của bạn, bạn có thể cung cấp các cấp khác nhau dịch vụ cho các khách hàng khác.
Thứ ba, người bảo mật CNTT của bạn sẽ hài lòng nếu bạn nói với họ rằng bạn không bao giờ lưu mật khẩu trên thiết bị di động của người dùng hoặc giấu nó ở đâu đó trong trình duyệt của họ.
Thứ tư, bạn có tùy chọn đăng nhập dựa trên trình duyệt cho ứng dụng dành cho thiết bị di động. Điều đó có nghĩa là ứng dụng dành cho thiết bị di động sẽ không bao giờ thấy mật khẩu của người dùng và nếu bạn muốn triển khai bảo mật hai yếu tố hoặc thứ gì đó tương tự, bạn có thể làm điều đó trong màn hình đăng nhập mà không thay đổi ứng dụng dành cho thiết bị di động. Bây giờ, nhược điểm là người dùng thấy cửa sổ trình duyệt bật lên. Đó là lý do tại sao OAuth cung cấp cho bạn một số cách khác nhau để nhận mã thông báo truy cập cho một ứng dụng, vì vậy bạn có thể chọn có cần đăng nhập dựa trên trình duyệt hay không hoặc trực tiếp nhập mật khẩu của họ vào ứng dụng.
Thứ năm, làm thế nào để bạn biết rằng API của bạn sẽ chỉ được sử dụng bởi các ứng dụng của riêng bạn? Nếu bạn sử dụng OAuth ngay bây giờ thì bạn sẽ có thời gian dễ dàng hơn để thực hiện chuyển đổi đó sau đó.
Nguồn
2012-02-22 18:04:18
"bối cảnh cho phép .." Thats ba OAuth hợp pháp. Ngoài ra còn có oauth hai chân, đó là những gì bạn có thể cần. – aitchnyu