SSO CÓ NGHĨA LÀ GÌ? VIẾT TẮT CỦA TỪ GÌ?

 - 
Blog học lập trình nodejs...
Blog học lập trình nodejs...

Tên tiếng Anh đầy đủ của SSO là Single SignOn, hay còn gọi là cơ chế đăng nhập một lần nhưng có thể sử dụng khắp mọi nơi. SSO có trong nhiều hệ thống ứng dụng. Người dùng chỉ cần đăng nhập một lần để truy cập vào tất cả các hệ thống ứng dụng đáng tin cậy lẫn nhau. Nó bao gồm một cơ chế có thể ánh xạ thông tin đăng nhập chính này với các ứng dụng khác để đăng nhập cùng một người dùng.

Bạn đang xem: Sso có nghĩa là gì? viết tắt của từ gì?

Nó là một trong những giải pháp phổ biến nhất được sử dụng rộng rãi hiện nay. Và nếu bạn là một lập trình viên thì bạn cần nên hiểu nó. Và quan trọng nhất cho các bạn làm back-end thì phải tìm hiểu về "4 cơ chế đăng nhập cần biết là đủ?"

SSO là gì?

SSO là viết tắt của Single Sign On, có nghĩa là bạn có thể đăng nhập vào một hệ thống trong một nhóm ứng dụng đa hệ thống (google, youtube, console...) và bạn có thể nhận ủy quyền trong tất cả các hệ thống khác mà không cần đăng nhập lại. SSO thường yêu cầu một trung tâm xác thực độc lập như (passport..). Giống như đi máy bay vậy tất cả thông tin đăng nhập vào hệ thống con phải thông qua hộ chiếu. Bản thân hệ thống con sẽ không tham gia vào hoạt động đăng nhập. Sau khi hệ thống đăng nhập thành công, hộ chiếu sẽ cấp Token (mã thông báo) cho mỗi hệ thống con. Các hệ thống con có thể giữ các Token để có được các tài nguyên được bảo vệ của riêng chúng.

Theo tips javascript thì có một bài viết về "Cơ chế đăng nhập với SSO" được giải thích khá rõ trên website "auth0.com". Có lẽ dù cố gắng như thế nào cũng khó mà viết hay hơn được nữa. Vì thế chúng ta có thể đọc bài viết này thông qua bài dich trên "techmaster.com".

Nhưng trước hết, tôi muốn nói rõ hơn về mô hình này.

Nếu bạn là lập trình viên mà có con rồi thì dễ hiểu hơn. Nôm na là mỗi buổi tối thứ 7 tôi thường cho baby của tôi đi chơi ở công viên kid. Trong đó có rất nhiều trò chơi như, xe điện, máy bay điện, phòng xếp hình, đu quay... Ở đây có hai sự lựa chọn đó là mua vé mỗi trò chơi, hoặc mua 1 vé cho tất cả các trờ chơi. ĐÚng vậy SSO ở đây có nghĩa là chỉ cần mua một vé tổng thì có thể chơi tất cả các trò chơi mà không cần phải đến tận gian hàng mà mua từng vé. Đó là một ví dụ cụ thể nhất để nói về SSO - Co chế đăng nhập.

Lợi ích của việc sử dụng SSO

Như những phần trước chúng ta đã nói về ưu điểm và nhược điểm của việc sử dụng cookie, session - phần 1, hay sử dụng cơ chế login sử dụng token ở phẩn 2, thì chúng ta cũng nên nói qua những nhược và ưu của việc sử dụng cơ chế login SSO.

Xem thêm: Sau Consider Là Gì ? Cách Sử Dụng Consider Trong Tiếng Anh Cấu Trúc Consider

Rất tiện lợi cho người dùng khi đăng nhập một lần và sử dụng nhiều lần khi sử dụng hệ thống ứng dụng. Người dùng không còn cần nhập tên người dùng và mật khẩu người dùng mỗi lần, cũng như không cần phải nhớ nhiều bộ tên người dùng và mật khẩu người dùng. Nền tảng đăng nhập một lần có thể cải thiện trải nghiệm người dùng khi sử dụng hệ thống ứng dụng.Thuận tiện cho người quản trị Người quản trị hệ thống chỉ cần duy trì một tập hợp các tài khoản người dùng thống nhất, rất tiện lợi và đơn giản. Ngược lại, quản trị viên hệ thống trước đây cần quản lý nhiều nhóm tài khoản người dùng. Mọi hệ thống ứng dụng đều có một tập hợp các tài khoản người dùng, điều này không chỉ mang lại sự bất tiện cho việc quản lý mà còn dễ xảy ra những sơ hở trong quản lý.Phát triển hệ thống ứng dụng được đơn giản hóa Khi phát triển một hệ thống ứng dụng mới, bạn có thể sử dụng trực tiếp dịch vụ xác thực người dùng của nền tảng đăng nhập một lần để đơn giản hóa quá trình phát triển. Nền tảng đăng nhập một lần thực hiện đăng nhập một lần bằng cách cung cấp nền tảng xác thực thống nhất. Do đó, hệ thống ứng dụng không cần phát triển các thủ tục xác thực người dùng.

Còn sau đây hay đọc bài viết của "Sebastian Peyrott". Nếu bạn có một hay nhiều câu hỏi gì thì hãy bình luận phía dưới nhé. Bài viết được dịch từ: auth0.com

Xác thực Single Sign On (SSO) 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 trang web đều yêu cầu xác thực để truy cập tới các tính năng và nội dung của nó. Với số lượng các trang web và dịch vụ đang tăng lên, một hệ thống đăng nhập tập trung (centralized login system) trở nên cần thiết.

Các thuật ngữ liên quan đến SSO

Khái niệm xác thực tập trung hay liên kết danh tính điện tử được biết đến như là federated identity (liên kết danh tính). Các hệ thống federated identity xử lý các vấn đề:

Xác thực (authentication)Phân quyền (authorization)Trao đổi thông tin người dùngQuản lý người dùng

Xác thực Single Sign On (SSO)

Sớm hay muộn thì các team phát triển web cũng sẽ phải đối mặt với một vấn đề: bạn đã phát triển một ứng dụng tại domain X và bây giờ bạn muốn phát triển một ứng dụng mới tại domain Y sử dụng các thông tin đăng nhập giống với domain X. Trong thực tế, bạn muốn nhiều hơn thế: nếu người dùng đã đăng nhập vào domain X họ cũng sẽ tự động đăng nhập vào domain Y. Đây là cái SSO giải quyết.

Giải pháp cho kịch bản ở trên là chia sẻ thông tin session giữa các domain. Tuy nhiên, vì lý do bảo mật, trình duyệt buộc phải tuân theo chính sách same origin policy. Nội dung của chính sách này là chỉ những người tạo ra mới có quyền truy cập các cookie (hay bất kỳ dữ liệu lưu trữ cục bộ nào). Nói cách khác, domain X không thể truy cập các cookie từ domain Y và ngược lại. Đây chính là vấn đề mà SSO giải quyết: chia sẻ thông tin session trên nhiều domain khác nhau.

Xem thêm: Bệnh Glaucoma Có Thể Dẫn Đến Mù Lòa, 403 Forbidden

Các giao thức SSO chia sẻ thông tin session theo nhiều cách khác nhau, nhưng những thứ cơ bản thì giống nhau đó là: có một central domain (domain trung tâm) để thực hiện xác thực (authentication) và sau đó session được chia sẻ với các domain khác theo nhiều cách. Ví dụ, center domain có thể tạo một JSON Web Token đã được ký (được mã hóa sử dụng JWE). Token này có thể được truyền tới client và được sử dụng để xác thực người dùng cho domain hiện tại cũng như bất kỳ domain nào khác. Token có thể truyền tới domain gốc bằng cách điều hướng và chứa tất cả các thông tin cần thiết để xác minh người dùng cho domain đang yêu cầu xác thực. Khi token đã được ký, thì nó không thể bị chỉnh sửa bởi bất kỳ client nào.

Tips: