OpenID Connect là gì? Nguyên tắc hoạt động của OIDC – BKHOST

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 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.

Related Posts

Xét nghiệm Giải phẫu bệnh – Dẫn đường cho việc điều trị

Xét nghiệm giải phẫu bệnh được thực hiện trên những mẫu bệnh phẩm tế bào, bệnh phẩm mô từ các cơ quan trong cơ thể được sinh…

Phương pháp điều trị tủy răng tại nha khoa hiện nay

Viêm tủy răng là một trong những vấn đề về sức khỏe răng miệng nghiêm trọng. Người mắc viêm tủy răng không chỉ phải chịu đựng những…

Mỹ thuật ứng dụng là gì? (cập nhật 2023)

Khi những giá trị thẩm mỹ ngày càng được chú trọng thì các phẩm mỹ thuật ứng dụng ngày càng đi sâu vào đời sống của mọi…

Bát quái đồ là gì? Ý nghĩa và vai trò của bát quái trong phong thủy

Bát quái đồ là vật phẩm phong thủy được sử dụng khá rộng rãi và phổ biến trong văn hoá phương Đông, nhằm mang lại những niềm…

Du học ngành khoa học ứng dụng và cơ bản

>> Du học ngành khoa học đại cương >> Các trường có đào tạo ngành Khoa học ứng dụng và cơ bản Khoa học Ứng dụng và…

Trồng răng implant là gì? Những điều cần phải biết trước khi chọn trồng răng implant

Trồng răng implant là phương pháp trồng răng cấy trụ kim loại vào xương hàm để thay thế cho răng đã mất. Chính vì vậy trụ implant…