Nội dung bài viết
#

OpenID Connect là gì? Cách xác minh danh tính bằng OIDC

OpenID Connect cho phép xác minh danh tính người dùng cuối dựa trên những xác minh, chứng thực được máy chủ cung cấp. Thông qua phương tiện này, khách hàng có thể xác minh được danh tính người sử dụng cuối cùng một cách dễ dàng. Vậy cụ thể OpenID Connect là gì? Cách xác minh danh tính bằng OIDC như thế nào. Mời bạn tham khảo những thông tin được BKHOST tổng hợp dưới đây.

OpenID Connect là gì?

OpenID Connect la gi

OpenID Connect có tên gọi ngắn gọn OIDC, là một giao thức có thể nhận dạng đối tượng bằng cách sử dụng cơ chế ủy quyền và xác thực của OAuth 2.0. Vào ngày 26/2/2014, thông số kỹ thuật cuối cùng của giao thức này đã được xuất bản. Hiện nay, OIDC được nhiều nhà cung cấp danh tính áp dụng rộng rãi trên mạng lưới internet.

OIDC được phát triển bởi tổ chức phi lợi nhuận OpenID Foundation gồm nhiều cá nhân, doanh nghiệp có mục tiêu chung thúc đẩy sự phát triển trong nhận dạng, xác thực thông tin người dùng.

Một vài khách hàng sử dụng OIDC để xác định người dùng, ứng dụng gốc, trang hay ứng dụng cho các thiết bị di động. Ngoài ra, giao thức này còn được sử dụng cho việc đăng nhập một lần trên các ứng dụng. OIDC nhằm bảo mật thông tin, tránh chia sẻ thông tin đăng nhập của người dùng với các dịch vụ khác bằng cách sử dụng mã thông báo và luồng HTTP.

OIDC được sử dụng trong xác thực người dùng vì vậy nó được tích hợp sẵn sự đồng ý khi sử dụng giao thức này. Điều này rất quan trọng bởi việc sử dụng dữ liệu và thông tin cá nhân của người khác cần được sự đồng ý và chấp thuận từ họ. OpenID Connect đã và đang trở thành giao thức hữu ích, chứa nhiều tính năng, là giải pháp xác minh danh tính người dùng an toàn.

OpenID Connect và OAuth2 có mối quan hệ như thế nào?

OAuth 2.0 là giao thức cơ bản được OpenID Connect sử dụng. Trong OIDC sử dụng thuật ngữ “luồng” để hoạt động thay vì thuật ngữ “cấp” chúng ta hay gặp trong OAuth2. Các tiện ích phát triển là một phạm trù đặc biệt trong việc sử dụng mã thông báo ID. Các yêu cầu nhận dạng được định dạng là JSON, chúng tập trung vào việc xác thực danh tính, thông tin thay cho ủy quyền.

Nguyên tắc hoạt động trong OpenID Connect

Nhà cung cấp danh tính OIDC thực hiện việc xác thực người dùng cần có sự đồng ý từ họ bằng cách phát hành mã thông báo. Lúc này, khách hàng sẽ nhận được yêu cầu xác minh danh tính (Relying Party) thông qua thiết bị di động hoặc dịch vụ yêu cầu. Nó có thể là ứng dụng web, JavaScript hoặc ứng dụng đặc biệt dành cho các thiết bị di động thông thường.

OpenID Connect được xây dựng dựa trên OAuth 2.0 và sử dụng mã thông báo tới người dùng. Lúc này, người dùng sẽ nhận được lớp nhận dạng đơn giản tích hợp thông tin ủy quyền cơ bản cần được xác minh. Đây là sự tích hợp nhằm mục đích sử dụng các loại mã thông báo dưới đây.

ID Token

Đây là mã dành riêng cho OIDC nhằm cung cấp thông tin đã xác thực được ở định dạng JWT. Nó có thể cung cấp dữ liệu nhận dạng mô tả chi tiết về hồ sơ của người dùng. Bất kỳ các dữ liệu phù hợp với các bên tin cậy cho việc nhận dạng như tên, email,… sẽ được dùng để xác thực. Mã thông báo ID cần được ký điện tử nhằm tránh các hành vi giả mạo. Với các ứng dụng dành cho thiết bị di động hay các SPA, mã thông báo ID không hữu ích vì dễ bị phát hiện.

Access Token

Access Token là mã được xác định trong OAuth2. Loại mã mã này có thời gian tồn tại nhất định và rất ngắn được giới hạn bởi nhà cung cấp quyền truy cập. Nó nhằm xác minh danh tính người dùng khi truy cập vào các tài nguyên bảo mật.

Refresh Token

Đây là mã thông báo thứ ba BKHOST muốn giới thiệu đến bạn đọc. Refresh Token có nguồn gốc từ thông số kỹ thuật của OAuth2. Loại mã này thường tồn tại trong thời gian dài. Nó được sử dụng để nhận thông báo khi có những truy cập xác thực mới.

Luồng OpenID Connect

Luồng OIDC được lựa chọn phụ thuộc vào ứng dụng và các yêu cầu bảo mật liên quan. Chúng ta có thể tìm thấy các luồng phổ biến sau:

  • Implicit Flow: Các SPA thường sử dụng luồng này. Mã thống báo sẽ được trả trực tiếp khi có yêu cầu xác minh danh tính trong một URI chuyển hướng.
  • Authorization Code Flow: Mã thông báo không được trả lại trực tiếp nên luồng này an toàn hơn luồng tiềm ẩn. Với các ứng dụng gốc, SPA hay ứng dụng cho các thiết bị di động, tính bảo mật sẽ được tăng cường hơn thông qua Proof Key.
  • Hybrid Flow: Đây là sự kết hợp của hai luồng trên. Mã thông báo ID được trả lại trực tiếp cho việc xác minh danh tính nhưng mã thông báo truy cập không được gửi.

Cách xác minh danh tính bằng OIDC

Khi người dùng đăng nhập vào tài khoản cá nhân IdP của mình và chấp nhận việc tiết lộ dữ liệu nhận dạng, nhà cung cấp OIDC sẽ có quyền sử dụng thông tin này để xác thực. Các thông số OIDC không biểu hiện cơ chế xác thực người dùng. IdP có thể bao gồm một hay nhiều yếu tố sau:

  • Tên và mật khẩu đăng nhập.
  • Mã sử ​​dụng một lần qua SMS hoặc email.
  • Mã được tạo bởi ứng dụng như OATH, TOTP hoặc HOTP.
  • Sinh trắc học qua ứng dụng.
  • Liên kết như Facebook hay GoogleID.

Tổng kết về OpenID Connect

Bài viết trên đã thông tin chi tiết về OpenID Connect. Nếu còn gặp bất cứ vướng mắc gì, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

Thuê Máy Chủ Vật Lý tại BKHOST

Giảm giá cực sâu, chất lượng hàng đầu. Đăng ký ngay hôm nay:

dịch vụ máy chủ

Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
Bình luận

Thanh toán linh hoạt

Chúng tôi chấp nhận thanh toán như ATM, Visa, Internet Banking, Paypal, Baokim, Ngân lượng

Gọi ĐT tư vấn ngay
Chat ngay qua Zalo
Chat ngay qua Messenger
Góp ý
Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !