2 Answers
OAuth2 là một giao thức cho phép user chia sẻ một số thông tin + quyền của mình cho ứng dụng bên thứ 3. Ví dụ em đang cho phép stackask này xác thực tài khoản facebook của em và từ đó stackask có thể lấy được một số thông tin về avatar hay tên.
OpenID Connect được xây dựng trên OAuth2, tuy nhiên nó có sử dụng thêm jwt token, được gọi là ID token, để cho phép user có thể login trên cả các ứng dụng desktop và mobile.
Vậy theo anh thì sự khác biệt ở đây là OpenID Connect sẽ chỉ dành cho việc login vào ứng dụng bên thứ 3 thôi chứ không giống như OAuth2 sẽ cấp quyền cho ứng dụng đó để làm một số việc việc được.
Vậy nên khi nào mà em chỉ muốn cho bên thứ 3 login thôi thì em sẽ dùng OpenID Connect, còn khi nào em muốn bên thứ 3 có thể sử dụng thông tin + quyền của user thì có thể dùng OAuth2.
Tham khảo: https://www.okta.com/identity-101/whats-the-difference-between-oauth-openid-connect-and-saml/
-
0
OpenID Connect ==>Authentication
Đúng như cách mà nó nói thôi.
Oauth2 sử dụng để cho phép ai đó, ứng dụng nào đó có thể truy cập các dữ liệu của chúng ta, thực hiện các hành động..etc..
Ví dụ đơn giản nhất là bạn có một căn nhà, mình đến nhà bạn chơi. Bạn sẽ cấp cho mình quyền được làm gì trong căn nhà của bạn. VÍ dụ bạn cấp mình quyền mở tivi, đổi kênh tivi, mở tắt điều hòa, lấy đồ trong tủ lạnh để ăn, sử dụng.
Để cấp quyền phía trên thì chúng ta sử dụng Oauth2.
OpenID bản 1.0 nó không base trên OAuth2 đâu, về sau OpenID Connect mới base trên OAuth2.
Với OpenID thì sẽ xác nhận bạn là chủ của căn nhà và OpenID sẽ không có các quyền như mở tivi, điều hòa... Vì nó chỉ authen thôi.
1 số website sử dụng OpenID :
https://vnexpress.net/
https://medium.com/
-
0