Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Giới thiệu về OpenID Connect (OIDC)

    OpenID Connect (OIDC) là một giao thức xác thực hiện đại, được xây dựng như một “lớp nhận dạng” nằm trên nền tảng OAuth 2.0. Nếu như OAuth tập trung vào việc chia sẻ và quản lý quyền truy cập tài nguyên, thì OIDC lại tập trung vào xác thực danh tính người dùng.

    Khác với các giao thức xác thực truyền thống, mục tiêu của OIDC là đơn giản hóa quá trình xác minh danh tính. Điều này được thực hiện thông qua Authorization Server (máy chủ xác thực), đồng thời cho phép lấy thông tin hồ sơ người dùng một cách liền mạch và an toàn.

    OIDC cung cấp cho các nhà phát triển ứng dụng và website khả năng khởi tạo luồng đăng nhập và nhận thông tin định danh có thể kiểm chứng về người dùng trên nhiều loại ứng dụng khác nhau: web server, ứng dụng di động, hay client JavaScript.

    Một số tính năng mở rộng quan trọng của OIDC bao gồm:
    • Mã hóa dữ liệu định danh.
    • Khám phá OpenID Provider (OP).
    • Quản lý phiên và đăng xuất (logout).

    Nhờ đó, OIDC không chỉ mang lại trải nghiệm người dùng mượt mà mà còn giúp tăng cường bảo mật. Điểm nổi bật nhất của OIDC là khả năng trả lời chính xác và an toàn câu hỏi:
    “Người dùng hiện tại đang tương tác với ứng dụng này là ai?”

    Thay vì để lập trình viên phải tự quản lý mật khẩu, OIDC loại bỏ gánh nặng lưu trữ và bảo vệ thông tin xác thực. Điều này giúp giảm thiểu nguy cơ rò rỉ mật khẩu và các vụ tấn công liên quan đến credential.
    Luồng Single Sign-On (SSO) với OpenID Connect


    OIDC (kết hợp OAuth 2.0) hỗ trợ nhiều loại flow để cấp token cho client. Một trong những flow phổ biến và bảo mật nhất là Authorization Code Flow, thường dùng trong các hệ thống doanh nghiệp và dịch vụ cloud.

    Quy trình SSO với OIDC theo Authorization Code Flow diễn ra theo các bước sau:

    1. User Interaction (Người dùng khởi tạo)


    Người dùng truy cập vào một ứng dụng hoặc website. Khi cần đăng nhập, họ kích hoạt quá trình sign-in bằng cách nhập username/password hoặc sử dụng phương thức xác thực khác. Đây là bước khởi đầu đưa người dùng từ trạng thái “ẩn danh” sang trạng thái “đã xác thực”.

    2. Client Request (Ứng dụng gửi yêu cầu)


    Ứng dụng (được gọi là Relying Party – Client) sẽ gửi một yêu cầu xác thực đến OpenID Provider (OP). Ứng dụng đóng vai trò trung gian, chuyển tiếp yêu cầu đăng nhập từ người dùng đến máy chủ xác thực.

    3. Provider Authentication & Authorization (Xác thực và ủy quyền)


    OpenID Provider thực hiện quá trình xác thực người dùng (mật khẩu, sinh trắc học, MFA...). Sau khi thành công, OP sẽ yêu cầu người dùng cho phép chia sẻ thông tin cơ bản với ứng dụng. Kết quả, OP sẽ trả về:
    • ID Token: Chứa thông tin định danh cơ bản của người dùng và trạng thái xác thực.
    • Access Token: Cho phép ứng dụng truy cập vào tài nguyên hoặc lấy thêm thông tin hồ sơ từ UserInfo Endpoint.
    4. Token Retrieval (Ứng dụng nhận token)


    Ứng dụng nhận ID Token và Access Token. Đây là chìa khóa để ứng dụng có thể tùy biến trải nghiệm người dùng và giao tiếp an toàn với dịch vụ backend.

    5. UserInfo Endpoint (Truy vấn thông tin người dùng)


    Ứng dụng sử dụng Access Token để gọi tới UserInfo Endpoint. Tại đây, ứng dụng có thể lấy các thông tin (claims) như tên, email, số điện thoại... giúp hoàn thiện hồ sơ người dùng trong hệ thống.
    Ý nghĩa thực tiễn với Cloud & SSO


    OIDC ngày nay được sử dụng rộng rãi trong các dịch vụ Azure AD, AWS Cognito, Google Identity Platform, Okta.... Nó trở thành nền tảng cho các cơ chế SSO (Single Sign-On) trong môi trường doanh nghiệp hiện đại.

    Ví dụ:
    • Khi bạn đăng nhập vào Microsoft 365 bằng tài khoản Azure AD, OIDC đảm nhận xác thực danh tính.
    • Khi ứng dụng nội bộ trong công ty tích hợp với AWS Cognito, người dùng chỉ cần đăng nhập một lần và có thể truy cập nhiều dịch vụ khác.

    Kết luận


    OpenID Connect (OIDC) chính là cầu nối giúp doanh nghiệp hiện thực hóa SSO an toàn và hiện đại. Nó vừa đơn giản hóa trải nghiệm người dùng, vừa giảm thiểu rủi ro bảo mật, và dễ dàng tích hợp trong các nền tảng cloud như Azure hay AWS.

    Nếu bạn đang làm việc với MCSA, Azure, AWS hay các hệ thống doanh nghiệp, thì OIDC là kiến thức nền tảng bạn nên nắm vững để triển khai xác thực và SSO hiệu quả.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X