Khác nhau giữa OAuth2 và OpenID

OpenID là về xác thực (ví dụ: chứng minh bạn là ai), OAuth là về ủy quyền (nghĩa là cấp quyền truy cập vào chức năng / dữ liệu / vv .. mà không phải xử lý xác thực ban đầu).

OAuth có thể được sử dụng trong các trang đối tác bên ngoài để cho phép truy cập dữ liệu được bảo vệ mà không cần phải xác thực lại người dùng.

  • OAuth2 - một phương thức chứng thực kiểu ủy quyền. Client xác thực với server cấp quyền (authorization server) và nhận một token gọi là "Access token". Access token không chứa bất kì thông tin gì về client. Nó chỉ là một tấm vé tham chiếu đến thông tin người dùng mà server cấp quyền có thể truy xuất đến. Do đó, đây cũng được gọi là token kiểu tham chiếu "by-reference token" và an toàn để sử dụng trên mạng lưới mở và internet.ư
  • OpenID Connect hoạt động tương tự OAuth nhưng ngoài Access Token, server cấp quyền còn phát một ID token chứa thông tin người dùng. Token này thường dạng JWT (JSON Web Token) và được kí bởi server cấp quyền. JWT token do đó được coi là token kiểu tham trị "by-value token" bởi vì nó chứa thông tin về người dùng và có thể trở nên không an toàn.

Category