OAuth là một đặc điểm kỹ thuật để ủy quyền
OAuth 2.0 là một đặc tả để ủy quyền, nhưng KHÔNG phải để xác thực. RFC 6749, 3.1. Điểm cuối cấp phép nói rõ ràng như sau:
Điểm cuối ủy quyền được sử dụng để tương tác với chủ sở hữu tài nguyên và nhận được khoản cấp phép. Máy chủ ủy quyền trước tiên PHẢI xác minh danh tính của chủ sở hữu tài nguyên. Cách mà máy chủ ủy quyền xác thực chủ sở hữu tài nguyên (ví dụ: tên người dùng và mật khẩu đăng nhập, cookie phiên) nằm ngoài phạm vi của đặc tả này .
Xác thực OAuth?
Xác thực giao dịch thông tin về "ai là". Ủy quyền giải quyết thông tin về "ai cấp quyền nào cho ai". Luồng ủy quyền chứa xác thực là bước đầu tiên của nó. Nó là lý do mà mọi người thường bị nhầm lẫn.
Có nhiều thư viện và dịch vụ sử dụng OAuth 2.0 để xác thực. Nó thường được gọi là "đăng nhập xã hội" và Nó khiến mọi người nhầm lẫn hơn. Nếu bạn thấy "Xác thực OAuth" (không phải "Ủy quyền OAuth") thì đó là giải pháp sử dụng OAuth để xác thực.
Kết nối OpenID
OpenID 1.0 và OpenID 2.0 là các thông số kỹ thuật cũ để xác thực. Những người đưa ra các thông số kỹ thuật mong muốn mọi người sử dụng OpenID để xác thực. Tuy nhiên, một số người đã bắt đầu sử dụng OAuth 2.0 để xác thực (không phải để ủy quyền) và xác thực OAuth đã nhanh chóng chiếm ưu thế.
Theo quan điểm của những người OpenID, xác thực dựa trên OAuth không đủ an toàn, nhưng họ phải thừa nhận rằng mọi người thích xác thực OAuth hơn. Do đó, các thành viên OpenID đã quyết định xác định một thông số kỹ thuật mới, OpenID Connect , trên OAuth 2.0.
Vâng, điều này đã khiến mọi người hoang mang hơn nhiều.
Định nghĩa một câu về OAuth 2.0 và OpenID Connect
OAuth 2.0 là một khuôn khổ trong đó người dùng dịch vụ có thể cho phép ứng dụng bên thứ ba truy cập vào dữ liệu của họ được lưu trữ trong dịch vụ mà không tiết lộ thông tin đăng nhập (ID và mật khẩu) của họ cho ứng dụng.
OpenID Connect là một khuôn khổ trên OAuth 2.0 trong đó ứng dụng của bên thứ ba có thể lấy thông tin nhận dạng của người dùng được một dịch vụ quản lý.
(Xin lỗi, những định nghĩa này là phần trích dẫn từ trang tổng quan của công ty tôi)
Định nghĩa từ quan điểm của người thực hiện
Xác thực là một quá trình để xác định chủ thể (= mã định danh duy nhất) của người dùng cuối. Có nhiều cách để xác định chủ thể. ID và mật khẩu, dấu vân tay, nhận dạng mống mắt, v.v.
Ủy quyền là một quá trình liên kết chủ thể với các quyền được yêu cầu và ứng dụng khách đã yêu cầu các quyền đó. Một mã thông báo truy cập đại diện cho hiệp hội.
Xem thêm
- Người triển khai Full-Scratch của OAuth và OpenID Connect nói về kết quả
- Sơ đồ và phim của tất cả các luồng OAuth 2.0
- Sơ đồ của tất cả các luồng kết nối OpenID
- Hướng dẫn đơn giản nhất cho OAuth 2.0