OAuth 2.0 là framework ủy quyền (Authorization).
👉 Nó cho phép:
Ứng dụng A truy cập tài nguyên của user ở hệ thống B mà không cần biết mật khẩu.
Ví dụ:
Chuẩn được định nghĩa bởi Internet Engineering Task Force.
✔ Ủy quyền truy cập API
❌ Không sinh ra để xác thực danh tính
OIDC = OAuth 2.0 + xác thực (Authentication layer)
Nó được phát triển bởi OpenID Foundation.
👉 Nếu OAuth trả về:
access_token
👉 Thì OIDC trả thêm:
id_token (JWT có user info)
SSO (Single Sign-On) là mô hình đăng nhập một lần dùng nhiều hệ thống.
Ví dụ:
SSO không phải protocol.
Nó là kiến trúc.
SSO có thể dùng:
Ví dụ hệ thống của Google hay Microsoft đều dùng OIDC để làm SSO.
| Tiêu chí | OAuth2 | OIDC | SSO |
|---|---|---|---|
| Mục đích | Ủy quyền | Xác thực + Ủy quyền | Trải nghiệm login |
| Có ID Token? | ❌ | ✅ | Tùy |
| Dùng cho login? | Không chuẩn | Chuẩn | Có |
| Là protocol? | Có | Có | Không |
👉 Dùng OIDC
👉 Dùng OAuth2
👉 Xây hệ thống SSO
OAuth2 = Cho phép truy cập OIDC = Xác thực người dùng SSO = Đăng nhập 1 lần dùng nhiều nơi