Single Sign-On (SSO) là gì, hoạt động ra sao?

Chúng tôi vui mừng chia sẻ kiến thức về từ khóa Single sign on la gi và hy vọng rằng nó sẽ hữu ích cho bạn đọc. Bài viết tập trung trình bày ý nghĩa, vai trò và ứng dụng của từ khóa này trong việc tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Chúng tôi cung cấp các phương pháp tìm kiếm, phân tích và lựa chọn từ khóa phù hợp, cùng với các chiến lược và công cụ hữu ích. Hy vọng rằng thông tin mà chúng tôi chia sẻ sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Xin chân thành cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog của chúng tôi để cập nhật những kiến thức mới nhất.

Single Sign-On (SSO) là gì?

Giới thiệu

Ngày này, hầy hết các website đều yêu cầu xác thực người dùng thì mới có thể có thể truy cập vào chức năng và nội dung của họ. Với sự tăng đều của số lượng các website, thì đương nhiên, số lượng tài khoản mà mỗi người dùng cần có sẽ tăng theo.Thử tưởng tượng bạn đang sử dụng 10 dịch vụ khác nhau, mà mỗi tài khoản để truy cập các dịch vụ này thì đều yêu cầu tối thiểu 2 thông tin cơ bản là user name và password. Chà, việc ghi nhớ hết chỗ này cũng mệt lắm đây! Vậy thì thông minh hơn một tẹo, là sẽ sử dụng user name và password của không ít dịch vụ này là y hệt nhau Nhưng mà với 10 dịch vụ, thì việc đăng nhập 10 lần là không thể tránh khỏi !!! Và vì thế, single sign-on ra đời

Bạn Đang Xem: Single Sign-On (SSO) là gì, hoạt động ra sao?

Single Sign-On, đúng như tên gọi, là cơ chế được cho phép người dùng có thể truy cập nhiều website, ứng dụng mà chỉ việc đăng nhập một lần. Một khi đã được định danh ở một trang website A, thì cũng sẽ tiến hành định danh tương tự ở website B mà không cần tái diễn thao tác đăng nhập 😄

Ưu và nhược điểm

Một vài lợi ích có thể nói đến việc của single sign-on là:

  • Giảm số lượng username và pasword mà người dùng cần phải ghi nhớ
  • Giảm số lần phải nhập thông tin username và pasword
  • Rủi ro về việc lộ thông tin người dùng cũng được tiết chế lại

Tuy nhiên, một vài hạn chế không thể không nói đến việc:

  • Ngân sách phát triển khi thông qua service thứ ba
  • Phụ thuộc vào service bên phía ngoài

Cơ chế hoạt động

Mạng lưới hệ thống nhận dạng liên kết

Mạng lưới hệ thống nhận dạng liên kết( Federated Identity Glossary) là nơi tập trung và liên kết thông tin người dùng. Có 4 yếu tố nền tảng cấu thành nên mạng lưới hệ thống này:

  • Xác thực (Authentication)
  • Phân quyền (Authorization)
  • Trao đổi thông tin người dùng (User attributes exchange)
  • Quản lí người dùng (User management)

Xác thực có tức thị: kiểm tra thông tin đăng nhập và tiến hàng định danh người dùng.

Phân quyền dựa trên thông tin định danh để kiểm tra quyền truy cập của user.

Xem Thêm : "Tư Vấn Viên" trong Tiếng Anh là gì: Định Nghĩa, Ví Dụ Anh Việt

Trao đổi thông tin người dùng Mỗi mạng lưới hệ thống con sẽ cần và lưu trữ các thông tin khác nhau của người dùng, tuy nhiên sẽ có những thông tin bị tái diễn, ví dụ như tên, họ…. Do đó, cần có một nơi để tổng hợp lại các thông tin này, và trao đổi cho những mạng lưới hệ thống con.

Quản lí người dùng admin có thể quản lí người dùng bằng các thao tác thêm, sửa, xóa… ở các mạng lưới hệ thống con.

Single sign-on là một phần của mạng lưới hệ thống nhận dạng liên kết, có liên quan chặt chẽ với việc xác thực thông tin người dùng. Nó sẽ định danh người dùng, và sau đó san sớt thông tin định danh được với những mạng lưới hệ thống con.

Cơ chế

Một user khi đăng nhập vào mạng lưới hệ thống A thì domain của A sẽ lưu thông tin định danh vào cookie, để user này cũng là đã đăng nhập khi truy cập vào mạng lưới hệ thống B thì domain B sẽ phải đọc được cookie của A tạo ra, nhưng điều này là không thể. Với những trình duyệt hiện nay, domain chỉ có thể truy cập cookie do chính nó tạo ra.

Vì vậy, single sign-on sẽ phải san sớt thông tin cookie giữa các domain với nhau. Mỗi giao thức single sign-on sẽ sở hữu được cơ chế san sớt khác nhau, nhưng điểm chung đều là tạo ra một domain trung tâm (central domain). Qua domain này, thông tin về cookie sẽ tiến hành san sớt tới các domain con. Ví dụ, central domain có thể tạo ra một json web token (jwt) và mã hóa nó. Khi ngươi dùng truy cập vào domain con thì sẽ tiến hành điều phối đến domain trung tâm này, và token sẽ tiến hành trả lại và lưu ở phía trình duyệt. Sau đó, nếu người dùng tiếp tục truy cập vào domain con khác thì tương tự, cũng sẽ tiến hành điều phối đến domain trung tâm, nhưng do lần này đã có token nên sẽ tiến hành định danh và việc đăng nhập lại là không cấp thiết nữa.

Đọc xong cũng thấy khá logic, nhưng khi kéo xuống các vướng mắc phía dưới, thì mình thấy có một câu được rất nhiều vote up như vậy này:

What is browser cookie storage and how it is accessible to by all three apps? I am supposing, the token should be stored by auth server and accessible to auth server, and after authentication browser is sending auth token with each request, and authenticated at auth server side, so why other apps are accessing browser cookie storage?

Xem Thêm : WEB-DL LÀ GÌ

Since it’s a domain specific, private storage, shouldn’t the representation of browser storage not have all three domains pointing to it? They don’t share the same browser cookie storage. They only share the same information, but in different stores. Is that not correct? I realize that makes the visual a little more disparate, but the principle is an important one to understand and changes the flow slightly.

Hiểu là: brower lưu cookie kiểu gì vậy? Tôi đang hiểu là mỗi domain sẽ có một storage riêng trong local storage tổng để lưu cookie. Khi access đến domain1 và được redirect đến central domain xong thì sẽ sở hữu được cookie lưu trong storage của domain1 và central, sau đó, với domain2 thì làm thế nào để lấy được cookie của central Mình nghĩ là câu này cũng sẽ sở hữu được nhiều người thắc mắc (vì có nhiều vote up mà ) nên có một số ý hiểu mình muốn san sớt đó là:

  • Local storage không chia thành nhiều storage con, mà chỉ có duy nhất một local storage mà thôi, tất cả cookie đều sẽ tiến hành lưu ở một chỗ, dạng key (là domain) và value. Chỉ là, các domain sẽ chỉ có quyền access so với data mà nó tạo ra thôi.

  • Không có chuyện các domain sử dụng cookie của nhau. Các domain sẽ tự request đến center domain và tự lưu cookie được trả ra, sau đấy, với mỗi request thì những domain sẽ tự dùng cookie mà mình có

  • Phần lớn các service SSO hiện nay (ví dụ ở đây là Auth0) có 2 phương pháp để xử lí ở vấn đề này:

    • Do tính chất của cookie, là các domain và subdomain có thể truy cập qua lại, nên central domain sẽ là dạng subdomain so với một trong số các domain con. Ví dụ: domain con là abc.com thì auth0 sẽ tạo ra một central domain là auth0.abc.com. khi đấy, user nếu đã login ở abc.com thì sẽ sở hữu được cookie lưu ở local storage mặc cả abc.com và auth0.abc.com đều truy cập được. Khi đấy, nếu user login ở edf.com thì sẽ tiến hành redirect về central domain là auth0.abc.com, và sẽ sở hữu được cookie, và lúc đấy user sẽ tiến hành xác thực
    • Sử dụng cơ chế Cross-origin resource sharing

Social login

Social login cũng là một dạng của single sign-on, là sử dụng những thông tin đăng nhập sẵn có của không ít mạng lưới hệ thống social như Facebook, Google, …, người dùng có thể đăng kí vào các service thứ ba mà không cần tạo tài khoản. Và domain trung tâm khi này sẽ là domain của không ít social.

Kết

Nội dung bài viết được lấy ý tưởng từ https://auth0.com/blog/what-is-and-how-does-single-sign-on-work/ và có thêm một số ý kiến chủ quan của tác giả

You May Also Like

About the Author: v1000