Chính xác thì OAuth (Ủy quyền mở) là gì?
OAuth cho phép thông báo cho nhà cung cấp tài nguyên (ví dụ: Facebook) rằng chủ sở hữu tài nguyên (ví dụ: bạn) cấp quyền cho bên thứ ba (ví dụ: Ứng dụng Facebook) truy cập vào thông tin của họ (ví dụ: danh sách bạn bè của bạn).
Nếu bạn đọc nó được nêu rõ ràng, tôi sẽ hiểu sự nhầm lẫn của bạn. Vì vậy, hãy đi với một ví dụ cụ thể: tham gia một mạng xã hội khác!
Giả sử bạn có tài khoản GMail hiện tại. Bạn quyết định tham gia LinkedIn. Thêm tất cả , rất nhiều bạn bè của bạn một cách thủ công là mệt mỏi và dễ bị lỗi. Bạn có thể chán ngấy một nửa hoặc chèn lỗi chính tả vào địa chỉ email của họ để nhận lời mời. Vì vậy, bạn có thể không muốn tạo một tài khoản sau khi tất cả.
Đối mặt với tình huống này, LinkedIn có Ý tưởng tốt (TM) để viết chương trình tự động thêm danh sách bạn bè của bạn vì máy tính hoạt động hiệu quả và hiệu quả hơn nhiều trong các nhiệm vụ dễ bị mệt mỏi và dễ bị lỗi. Vì việc tham gia mạng bây giờ rất dễ dàng, không có cách nào bạn có thể từ chối lời đề nghị như vậy, bây giờ thì sao?
Nếu không có API để trao đổi danh sách liên hệ này, bạn sẽ phải cung cấp cho LinkedIn tên người dùng và mật khẩu vào tài khoản GMail của mình, do đó cung cấp cho họ quá nhiều sức mạnh .
Đây là nơi OAuth xuất hiện. Nếu GMail của bạn hỗ trợ giao thức OAuth, thì LinkedIn có thể yêu cầu bạn cho phép họ truy cập danh sách liên hệ GMail của bạn.
OAuth cho phép:
- Các cấp độ truy cập khác nhau: chỉ đọc VS đọc-ghi. Điều này cho phép bạn cấp quyền truy cập vào danh sách người dùng của bạn hoặc quyền truy cập hai chiều để tự động đồng bộ hóa bạn bè LinkedIn mới của bạn với các liên hệ GMail của bạn.
- Truy cập mức độ chi tiết: bạn có thể quyết định chỉ cấp quyền truy cập vào thông tin liên hệ của mình (tên người dùng, e-mail, ngày sinh, v.v.) hoặc cho toàn bộ danh sách bạn bè, lịch và những gì không.
- Nó cho phép bạn quản lý quyền truy cập từ ứng dụng của nhà cung cấp tài nguyên. Nếu ứng dụng của bên thứ ba không cung cấp cơ chế hủy quyền truy cập, bạn sẽ bị kẹt khi họ có quyền truy cập vào thông tin của bạn. Với OAuth, có điều khoản để thu hồi quyền truy cập bất cứ lúc nào.
Nó sẽ trở thành một thực tế (tiêu chuẩn?) Trong tương lai gần?
Chà, mặc dù OAuth là một bước tiến đáng kể, nhưng nó không giải quyết được vấn đề nếu mọi người không sử dụng đúng cách. Chẳng hạn, nếu một nhà cung cấp tài nguyên chỉ cung cấp một cấp truy cập đọc-ghi cho tất cả các tài nguyên của bạn cùng một lúc và không cung cấp cơ chế để quản lý quyền truy cập, thì không có điểm nào cho nó. Nói cách khác, OAuth là một khung để cung cấp chức năng ủy quyền chứ không chỉ xác thực.
Trong thực tế, nó phù hợp với mô hình mạng xã hội rất tốt. Nó đặc biệt phổ biến đối với những mạng xã hội muốn cho phép "plugin" của bên thứ ba. Đây là một lĩnh vực mà việc truy cập vào các tài nguyên vốn đã cần thiết và cũng không đáng tin cậy (tức là bạn có ít hoặc không kiểm soát chất lượng đối với các ứng dụng đó).
Tôi đã không thấy nhiều công dụng khác trong tự nhiên. Ý tôi là, tôi không biết về một công ty tư vấn tài chính trực tuyến sẽ tự động truy cập vào hồ sơ ngân hàng của bạn, mặc dù về mặt kỹ thuật nó có thể được sử dụng theo cách đó.