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

    Bảng chú giải thuật ngữ nhận dạng liên kết là nơi thông tin người dùng được thu thập và liên kết. Hệ thống bao gồm 4 yếu tố cơ bản:

  • Xác thực
  • Ủy quyền
  • Trao đổi thuộc tính người dùng
  • Quản lý Người dùng
  • Xác thực có nghĩa là: Kiểm tra thông tin đăng nhập và xác định người dùng.

    Phân quyền dựa vào số nhận dạng để kiểm tra quyền truy cập của người dùng.

    Xem thêm: Dấu Câu Trong Tiếng anh: chấm, phẩy, ngã, nặng, hỏi, cộng trừ, nhân chia

    Trao đổi thông tin người dùng Mỗi hệ thống con cần và lưu trữ thông tin người dùng khác nhau, nhưng sẽ có thông tin trùng lặp, chẳng hạn như tên, họ …. Vì vậy, cần có một nơi để tổng hợp thông tin này, và hoán đổi nó cho một hệ thống con.

    Quản lý người dùng Quản trị viên có thể quản lý người dùng bằng cách thêm, sửa, xóa … trong hệ thống con.

    Đăng nhập một lần là một phần của hệ thống nhận dạng liên bang và có liên quan chặt chẽ đến việc xác thực thông tin người dùng. Nó sẽ xác định người dùng và sau đó chia sẻ thông tin nhận dạng với hệ thống con.

    Cơ chế

    Một user khi đăng nhập vào 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 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 các trình duyệt hiện nay, domain chỉ có thể truy cập cookie do chính nó tạo ra.Single Sign-On (SSO) là gì, hoạt động ra sao?

    Vì vậy, single sign-on sẽ phải chia sẻ thông tin cookie giữa các domain với nhau. Mỗi giao thức single sign-on sẽ có cơ chế chia sẻ 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ẽ được chia sẻ đến 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ẽ được điều hướng đến domain trung tâm này, và token sẽ được 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ẽ được điều hướng đến domain trung tâm, nhưng do lần này đã có token nên sẽ được định danh và việc đăng nhập lại là không cần thiết nữa. Single Sign-On (SSO) là gì, hoạt động ra sao?

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

    Sau khi đọc câu này thì có vẻ hợp lý, nhưng khi tôi cuộn xuống câu hỏi bên dưới, tôi thấy câu này nhận được rất nhiều phiếu bầu:

    Xem thêm: Condominium là gì? Phân biệt giữa Apartment và Condominium

    Lưu trữ cookie của trình duyệt là gì và làm cách nào để cả ba ứng dụng truy cập vào nó? Tôi nghĩ rằng, mã thông báo nên được máy chủ xác thực lưu trữ và có thể truy cập được và sau khi trình duyệt xác thực gửi mã thông báo xác thực cho mỗi yêu cầu và xác thực ở phía máy chủ xác thực, vậy tại sao các ứng dụng khác của chương trình đang truy cập vào bộ lưu trữ cookie của trình duyệt?

    Vì đây là một cửa hàng tư nhân dành riêng cho miền cụ thể, không nên đại diện của cửa hàng trình duyệt không trỏ đến nó cho cả ba miền? Chúng không chia sẻ cùng một kho lưu trữ cookie của trình duyệt. Họ chỉ chia sẻ cùng một thông tin, nhưng ở các cửa hàng khác nhau. Điều này có chính xác không? Tôi nhận ra rằng điều này sẽ làm cho hình ảnh trở nên khác biệt hơn, nhưng các nguyên tắc quan trọng là phải hiểu và thay đổi quy trình một chút.

    Tìm hiểu: Trình duyệt lưu trữ cookie như thế nào? Tôi hiểu rằng mỗi miền có bộ nhớ riêng trong tổng bộ nhớ cục bộ để lưu trữ cookie. Khi truy cập vào domain1 và được chuyển hướng đến miền trung tâm thì sẽ có cookie được lưu trong kho lưu trữ của miền1 và miền trung, khi đó, làm cách nào để sử dụng domain2 để lấy cookie trung tâm, tôi nghĩ câu hỏi này cũng sẽ có rất nhiều người muốn biết. (vì có nhiều lượt ủng hộ) nên tôi muốn chia sẻ một số thông tin chi tiết:

    • Bộ nhớ cục bộ không được chia thành nhiều bộ lưu trữ con, mà chỉ có một bộ lưu trữ cục bộ, tất cả cookie sẽ được lưu trữ ở một nơi, dưới dạng khóa (dưới dạng miền) và giá trị. Chỉ, các miền chỉ có thể truy cập vào dữ liệu mà chúng tạo ra.

    • Không có cái gọi là các miền sử dụng cookie của nhau. Các miền sẽ tự động yêu cầu từ miền trung tâm và tự lưu các cookie được trả lại, sau đó, đối với mỗi yêu cầu, các miền sẽ sử dụng cookie mà chúng có.

    • Hầu hết các dịch vụ sso ngày nay (chẳng hạn như auth0) có hai cách để xử lý vấn đề này:

      • Do bản chất của cookie, các miền và miền phụ có thể được truy cập qua lại, do đó miền trung tâm sẽ là miền phụ của một trong các miền phụ. Ví dụ: tên miền con là abc.com thì auth0 sẽ tạo tên miền trung tâm là auth0.abc.com. Sau đó, nếu người dùng đăng nhập trên abc.com, sẽ có một cookie được lưu trữ trong bộ nhớ cục bộ mà cả abc.com và auth0.abc.com đều có thể truy cập được. Sau đó, nếu người dùng đăng nhập tại edf.com, anh ta sẽ được chuyển hướng đến miền trung tâm của auth0.abc.com và sẽ có cookie, sau đó người dùng sẽ được xác thực
      • Sử dụng Chia sẻ Tài nguyên Nhiều Nguồn gốc
      • Đăng nhập mạng xã hội

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

        Đăng nhập mạng xã hội cũng là một hình thức đăng nhập một lần, sử dụng thông tin đăng nhập có sẵn của các hệ thống mạng xã hội như facebook và google để cho phép người dùng đăng ký các dịch vụ của bên thứ ba mà không cần tạo tài khoản. Miền trung tâm khi đó sẽ là miền của mạng xã hội.

        Kết thúc

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

        Tham khảo: Hình Ảnh Bạn Muốn Làm Gì Của Tớ