Rất nhiều Website ngày nay yêu cầu người dùng phải đăng nhập thì mới được sử dụng trang web. Tuy nhiên mỗi Web đều có một tài khoản riêng nên bạn sẽ phải nhớ rất nhiều mật khẩu. Bạn sẽ tự hỏi tại sao không có giải pháp giống như chỉ cần một chìa khóa là có thể vào tất cả các phòng?. SSO được ra đời để hỗ trợ cho tác vụ đó. Bài viết sau đây sẽ giúp bạn hiểu hơn về SSO và những ưu cũng như nhược điểm của công cụ này.
I. SSO (Single Sign-on) là gì?
Như đã đề cập, việc xác thực tài khoản ngày nay gần như là bắt buộc và phổ biến với hầu hết các trang web. Tuy nhiên, điều này dẫn đến một tình trạng là người dùng phải lập rất nhiều tài khoản khác nhau, đồng nghĩa với việc phải nhớ vô số tên tài khoản và mật khẩu. Ngoài ra, việc đăng nhập liên tục tốn không ít thời gian và công sức.
SSO (Single Sign-on), được tạo ra như một công cụ cực kì hữu ích giúp người dùng có thể truy cập vào những trang web trên mà chỉ cần đăng nhập một lần duy nhất. Nói một cách dễ hiểu, nếu bạn đã được xác thực danh tính ở trang web thứ nhất thì khi sang trang web thứ hai bạn không cần đăng nhập nữa.
SSO (Single Sign-on) là gì?
II. Ưu điểm và nhược điểm của SSO
1. Ưu điểm
- Truy cập nhiều tài khoản, ứng dụng mà không cần đăng nhập nhiều lần.
- Không cần ghi nhớ nhiều tên tài khoản cũng như mật khẩu.
- Giảm bớt nguy cơ bị lộ thông tin cá nhân.
2. Nhược điểm
- Phụ thuộc vào bên cung cấp dịch vụ SSO.
- Tốn thêm chi phí do sử dụng SSO.
Ưu điểm và nhược điểm của SSO
III. SSO hoạt động như thế nào?
1. Nhận dạng các loại kết nối SSO
Về cơ bản, SSO được chia làm 4 loại kết nối chính:
- Xác thực (Authentication): đây là bước xác minh danh tính người dùng thông qua việc kiểm tra thông tin đăng nhập.
- Phân quyền (Authorization): sau khi lấy danh tính xong, SSO sẽ dựa vào đó để kiểm tra quyền truy cập của người dùng.
- Trao đổi thông tin người dùng (User attributes exchange): Các thông tin người dùng như tên, họ,... sẽ dễ bị trùng lặp. Các hệ thống con cần các thông tin này và phải lưu trữ chúng. Sẽ có một nơi tổng hợp lại các thông tin này 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ó thể quản lí người dùng thuộc về tổ chức của mình thông qua các hoạt động chỉnh sửa, thêm, xóa ở hệ thống con mà không cần phải chỉnh sửa ở domain chính.
2. Cơ chế hoạt động
Vậy SSO hoạt động như thế nào?
Khi bạn đăng nhập vào trang web A thì domain của A sẽ tự động lưu ngay thông tin đăng nhập của bạn vào cookie. Sau đó, để bạn được tiếp tục đăng nhập khi truy cập vào trang web B thì domain B sẽ phải đọc được cookie do trang web A tạo ra. Xét trên lý thuyết, điều này gần như là không thể vì domain của các trình duyệt hiện nay chỉ truy cập cookie do chính nó tạo ra.
SSO có nhiệm vụ chia sẻ thông tin cookie cho các domain của các trang web với nhau. SSO gồm nhiều giao thức với cơ chế chia sẻ khác nhau, nhưng cuối cùng đều tạo ra một domain trung tâm. Thông qua domain này, thông tin về cookie của các trang web sẽ được chia sẻ với domain con.
Để có thể dễ hình dung, mình sẽ lấy cho các bạn một ví dụ. Ví dụ, 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 trang web ở domain con thì sẽ được điều hướng đến domain trung tâm này. Sau khi thực hiện xác thực, token sẽ được trả lại và lưu ở trình duyệt. Sau đó, nếu bạn tiếp tục truy cập vào những domain con khác thì tương tự, cũng sẽ được điều hướng đến domain trung tâm, nhưng do lần này đã có token nên việc đăng nhập lại là không cần thiết nữa.
Trên đây là bài viết định nghĩa về SSO và những ưu điểm, nhược điểm của công cụ này. Hy vọng thông qua bài viết bạn đã có cho mình những kiến thức bổ ích.