Single Sign-on hay SSO là gì? Ưu và nhược điểm của SSO

ITNavi 16 Jun 2021 17564

Việc xác thực Single Sign-on ngày càng trở nên cần thiết hơn bao giờ hết. Ngày nay, hầu hết các website đều yêu cầu người dùng phải đăng nhập mới được truy cập các nội dung cũng như tính năng của trang web. Với số lượng các trang web và dịch vụ đang không ngừng tăng lên thì có một hệ thống đăng nhập tập trung trở nên cần thiết và SSO chính là sản phẩm được ra đời để hỗ trợ tác vụ đó. Để hiểu rõ hơn về SSO là gì và những ưu nhược điểm của công cụ này, hãy cùng tìm hiểu ngay tại bài viết bên dưới nhé!

SSO là gì, công cụ này có những ưu nhược điểm gì?

SSO là gì, công cụ này có những ưu nhược điểm gì?

Single Sign-on hay SSO là gì?

Như đã nói ở trên, hiện nay rất nhiều các trang web yêu cầu đăng nhập trước khi truy cập bên trong. Với sự gia tăng đó, số lượng tài khoản người dùng cũng tăng theo. Bạn thử tưởng tượng nếu mình dùng 10 trang dịch vụ khác nhau, mỗi tài khoản đều cần ít nhất các thông tin như tên đăng nhập và mật khẩu. Việc ghi nhớ hết tất cả những thông tin cơ bản này cũng khiến cho người dùng phải đau đầu.

Vậy nếu ta đăng nhập 10 tài khoản này với tên đăng nhập và mật khẩu giống nhau thì sao nhỉ, chúng ta vẫn mất 10 lần đăng nhập đó. Hay nếu bạn là nhà phát triển, bạn muốn 2 domain của mình đăng nhập cùng một tài khoản và nếu đã đăng nhập vào domain X thì sẽ tự đăng nhập vào domain Y. Tất cả những tình huống này chính là nguyên nhân ra đời của SSO (Single Sign-On).

Single Sign-On đúng với cái tên gọi của chúng, là cơ chế cho phép người sử dụng có thể truy cập vào nhiều trang web hay ứng dụng khác nhau mà chỉ cần một lần đăng nhập. Một khi đăng nhập thành công ở trang web X thì cũng sẽ được đăng nhập tương tự ở trang web Y mà không cần phải lặp lại các thao tác đăng nhập.

Bạn đọc tham khảo thêm: 

Tuyển dụng javascript lương cao chế độ hấp dẫn

Tuyển dụng nodejs Hà Nội lương cao chế độ hấp dẫn

Việc làm IT lương cao chế độ hấp dẫn

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

Một vài ưu điểm có thể kể đến của Single Sign-On là:
  • Giảm số lượng tên đăng nhập (username) và mật khẩu (password) mà người dùng cần phải ghi nhớ.
  • Giảm số lần phải nhập thông tin tên đăng nhập và mật khẩu.
  • Những rủi ro về việc lộ thông tin người dùng khi đăng nhập nhiều lần cũng được tiết chế lại.
Tất nhiên không một công cụ nào có là hoàn hảo, ngoài những lợi ích SSO cũng có một vài hạn chế không thể chối bỏ như:
  • Phát sinh thêm các chi phí phát triển khi thông qua server bên thứ ba.
  • Phải phụ thuộc vào bên cung cấp dịch vụ SSO.
SSO giúp làm giảm số lần đăng nhập thông tin

SSO giúp làm giảm số lần đăng nhập thông tin

Cơ chế hoạt động của SSO là gì

Hệ thống nhận dạng liên kết

Hệ thống nhận dạng liên kết là nơi tập trung là liên kết những thông tin của người dùng lại với nhau. Có 4 tiêu chí để cấu thành nên hệ thống nhận dạng liên kết.
  • Xác thực (Authentication): đây là bước để xác minh danh tính của người sử dụng thông qua việc kiểm tra các thông tin đăng nhập.
  • Phân quyền (Authorization): sau khi đã xác thực và lấy danh tính xong, SSO sẽ dựa vào đó để kiểm tra các quyền truy cập của người sử dụng.
  • Trao đổi thông tin người dùng (User attributes exchange): những thông tin người dùng như họ, tên, quê quán,... sẽ dễ bị trùng lặp. Chính vì vậy các hệ thống con cần những thông tin này và phải lưu trữ chúng. Những thông tin này sau khi được thu thập sẽ được tổng hợp lại và trao đổi với hệ thống con.
  • Quản lý người dùng (User management): quản trị viên của trang web có quyền quản lý người dùng thông qua các hoạt động trên hệ thống con như thêm mới, chỉnh sửa và xóa.
Single Sign-On là một phần của hệ thống nhận dạng liên kết, do đó nó  có mối liên quan chặt chẽ với việc xác nhận thông tin của người sử dụng. SSO sẽ định danh người dùng và chia sẻ những thông tin đã được định danh với các hệ thống con. Hệ thống nhận dạng liên kết gồm xác thực, phân quyền, trao đổi thông tin và quản lý người dùng

Hệ thống nhận dạng liên kết gồm xác thực, phân quyền, trao đổi thông tin và quản lý người dùng

Cơ chế hoạt động

Bạn có thắc mắc Single sign-on hoạt động như thế nào không? Khi bạn đăng nhập vào trang web X thì domain của X sẽ tự động lưu trữ những thông tin đăng nhập này vào cookie. Tiếp đó, để bạn có thể tiếp tục đăng nhập khi truy cập vào trang web Y thì domain của Y sẽ phải đọc được cookie đã được lưu trữ của trang X. Xét về mặt lý thuyết thì điều này gần như là không thể xảy ra vì domain của các trình duyệt hiện nay chỉ cho phép truy cập cookie do chính nó tạo ra mà thôi.

SSO sẽ đảm nhận nhiệm vụ chia sẻ thông tin cookie cho các domain của những trang web lại với nhau. SSO gồm nhiều giao thức với các cơ chế chia sẻ khác nhau nhưng cuối cùng tất cả sẽ đều tạo ra một domain trung tâm. Từ domain trung tâm này, thông tin về cookie của các trang web sẽ được chia sẻ đến những domain con.

Để có thể dễ hình dung, các bạn có thể tham khảo ví dụ sau. Chẳng hạn, domain trung tâm tạo ra một “json web token (jwt)” và mã hóa nó. Khi bạn truy cập vào những trang web thuộc domain con thì sẽ được điều hướng đến domain trung tâm này. Token sẽ được truy xuất và trả lại sau đó lưu ở trình duyệt. Tiếp đến, nếu bạn muốn tiếp tục truy cập vào những domain con khác thì cũng tương tự, tất cả sẽ được điều hướng đến domain trung tâm, tuy nhiên do lần này đã có token từ trước nên việc đăng nhập lại là không cần thiết nữa

. Cơ chế hoạt động của Single Sign-On

Cơ chế hoạt động của Single Sign-On

Social login

Social login cũng là một dạng của Single Sign-On. Chắc hẳn bạn không còn xa lạ với những trang web có các phương thức đăng nhập khác nhau thông qua các hệ thống mạng xã hội như Facebook, Google, Twitter, Linkedin,... Người dùng có thể sử dụng các thông tin đã được đăng nhập sẵn trên các mạng xã hội này để đăng ký, đăng nhập vào server bên thứ ba mà không cần phải tạo tài khoản. Và tất nhiên, domain trung tâm khi này sẽ là domain của các mạng xã hội. Các hệ thống phân tán (Decentralized System) ngày càng trở nên phổ biến và vấn đề xác thực thông tin là một khía cạnh quan trọng của tất cả chúng.

SSO đã giúp giải quyết một vấn đề lớn là làm thế nào để quản lý được số lượng người dùng đang ngày càng gia tăng trên toàn bộ hệ thống gồm nhiều ứng dụng và dịch vụ. Các framework như OpenID Connect và các dịch vụ như Auth0 làm cho việc tích hợp SSO vào các ứng dụng mới hoặc đã có của người dùng trở nên dễ dàng hơn nhiều. Nếu bạn đang có nhu cầu triển khai xác thực trên một ứng dụng hay dịch vụ nào đó hãy xem xét việc tích hợp SSO nhé.

Trên đây là những kiến thức giải đáp về SSO là gì và những ưu, nhược điểm của công cụ này. Hy vọng qua bài viết này bạn đã thu nạp được những kiến thức hay và bổ ích cho mình. Đừng quên chia sẻ bài viết hữu ích này đến nhiều người hơn nhé!

ITNavi - Nền tảng kết nối việc làm IT

Nguồn: Single Sign-on hay SSO là gì? Ưu và nhược điểm của SSO

Bài viết liên quan

NEWSLETTER

Nhập địa chỉ email của bạn dưới đây để đăng ký nhận tin mới nhất

KẾT NỐI VÀ THEO DÕI