Khi đi sâu vào cơ chế Single Sign-On (SSO), chúng ta thường bắt gặp hai giao thức quan trọng: OpenID Connect (OIDC) và Security Assertion Markup Language (SAML). Cả hai đều đóng vai trò trung tâm trong việc triển khai SSO, nhưng lại có cách tiếp cận và đặc điểm vận hành khác nhau. Bài viết này sẽ phân tích sự khác biệt giữa OIDC và SAML, từ nền tảng, ưu điểm cho đến tình huống ứng dụng.
1. Giới thiệu về SAML và vai trò trong SSO
SAML là một chuẩn mở lâu đời, sử dụng XML để trao đổi dữ liệu xác thực và phân quyền giữa Identity Provider (IdP) và Service Provider (SP).
Điểm mạnh nhất của SAML là khả năng triển khai Single Sign-On: người dùng chỉ cần đăng nhập một lần, sau đó có thể truy cập nhiều ứng dụng khác nhau trong cùng phiên làm việc. Điều này giúp cải thiện trải nghiệm người dùng và tăng hiệu quả quản trị.
2. So sánh OIDC và SAML
a. Định dạng dữ liệu
b. Nền tảng giao thức
c. Mức độ linh hoạt và mở rộng
-
OIDC: linh hoạt, hỗ trợ nhiều tính năng mở rộng như mã hóa dữ liệu định danh, khám phá OpenID Providers, đăng xuất phiên (logout).
d. Tình huống sử dụng
3. Lược sử và mục đích của các chuẩn
4. Kết luận
Cả OIDC và SAML đều mạnh mẽ nhưng phục vụ các mục đích khác nhau:
-
Với ứng dụng hướng người dùng, web và mobile hiện đại, OIDC là lựa chọn tối ưu vì tính đơn giản, nhẹ và dễ tích hợp.
Việc lựa chọn giao thức nào phụ thuộc vào nhu cầu thực tế, hạ tầng công nghệ, và chiến lược quản lý định danh lâu dài của tổ chức.
Câu hỏi ôn tập
Câu hỏi: Hai đặc điểm nào sau đây mô tả đúng thành phần và tính năng trong luồng giao thức OIDC? (Chọn 2)
-
Thành phần: Authentication mechanism, Client, Relying Party (RP), OpenID Provider (OP/IdP), Identity Token, User.
Bài này rất quan trọng cho những bạn đang học và làm việc với Azure AD, AWS Cognito, Okta, Cisco Duo SSO… vì đây chính là nền tảng khi triển khai Identity & Access Management (IAM) trong môi trường Cloud.