Kiểm tra tác động của những thay đổi về cookie của bên thứ ba đối với quy trình đăng nhập của bạn

Chrome đang đề xuất một trải nghiệm mới mà người dùng có thể lựa chọn dựa trên cookie của bên thứ ba. Bạn cần chuẩn bị trang web của mình cho những người dùng chọn duyệt web mà không sử dụng cookie của bên thứ ba.

Trên trang này, bạn sẽ tìm thấy thông tin về những trường hợp đăng nhập có nhiều khả năng xảy ra nhất bị ảnh hưởng, cũng như tài liệu tham khảo đến các giải pháp khả thi.

Nếu trang web của bạn chỉ xử lý các luồng trong cùng một miền và miền con, chẳng hạn như vì publisher.examplelogin.publisher.example nên sẽ không dùng cookie trên nhiều trang web và quy trình đăng nhập của bạn có thể sẽ không bị ảnh hưởng bởi những thay đổi về cookie của bên thứ ba.

Tuy nhiên, nếu trang web của bạn sử dụng tên miền riêng biệt để đăng nhập, chẳng hạn như với Đăng nhập bằng Google hoặc Đăng nhập Facebook hoặc trang web của bạn cần chia sẻ thông tin người dùng trên nhiều miền hoặc miền con, có khả năng bạn sẽ cần thực hiện các thay đổi đối với trang web của bạn để đảm bảo quá trình chuyển đổi cookie trên trang web.

Cách tốt nhất để kiểm tra xem quy trình đăng nhập của bạn có bị cookie của bên thứ ba ảnh hưởng hay không bao gồm bước đăng ký, khôi phục mật khẩu, thông tin đăng nhập và quy trình đăng xuất có gắn cờ kiểm tra cookie của bên thứ ba được bật.

Đây là danh sách kiểm tra những điều cần kiểm tra sau khi bạn hạn chế bên thứ ba cookie:

  • Quy trình đăng ký người dùng: Việc tạo tài khoản mới sẽ diễn ra như dự kiến. Nếu sử dụng nhà cung cấp danh tính của bên thứ ba, hãy kiểm tra xem quy trình đăng ký tài khoản mới có hoạt động không cho mọi tích hợp.
  • Khôi phục mật khẩu: Tính năng khôi phục mật khẩu hoạt động như dự kiến từ giao diện người dùng web vào CAPTCHA để nhận email khôi phục mật khẩu.
  • Đăng nhập: Quy trình đăng nhập hoạt động trong cùng một miền và thời điểm điều hướng đến các miền khác. Hãy nhớ kiểm thử mọi quá trình tích hợp đăng nhập.
  • Đăng xuất: Quy trình đăng xuất diễn ra như dự kiến và người dùng vẫn ở đăng xuất sau quy trình đăng xuất.

Bạn cũng nên kiểm tra để đảm bảo rằng các tính năng khác của trang web yêu cầu người dùng đăng nhập vẫn hoạt động mà không cần cookie trên nhiều trang web, đặc biệt nếu các cookie này liên quan đến việc tải trên nhiều trang web. Ví dụ: nếu bạn sử dụng CDN để tải ảnh hồ sơ người dùng, đảm bảo rằng tính năng này vẫn hoạt động. Nếu bạn có hành trình trọng yếu của người dùng, chẳng hạn như thanh toán, được kiểm soát khi đăng nhập, hãy đảm bảo rằng các tính năng này tiếp tục hoạt động.

Trong các phần tiếp theo, bạn sẽ tìm thấy thông tin cụ thể hơn về cách các luồng đó có thể bị ảnh hưởng.

Danh tính liên kết

Nút đăng nhập như Đăng nhập bằng Google, Đăng nhập FacebookĐăng nhập bằng Twitter là một dấu hiệu rõ ràng cho thấy trang web của bạn đang sử dụng nhà cung cấp danh tính được liên kết. Vì mỗi nhà cung cấp danh tính được liên kết sẽ có cách triển khai của riêng mình, thì giải pháp tốt nhất là kiểm tra hoặc liên hệ với họ để được hướng dẫn thêm.

Nếu bạn đang sử dụng thuộc tính không dùng nữa Thư viện nền tảng JavaScript Đăng nhập bằng Google, bạn có thể tìm thấy thông tin về cách để di chuyển sang thư viện Dịch vụ nhận dạng của Google mới hơn để xác thực và uỷ quyền.

Hầu hết các trang web sử dụng thư viện Dịch vụ nhận dạng mới của Google đều sẵn sàng cho ngừng sử dụng cookie của bên thứ ba, vì thư viện sẽ tự động di chuyển sang thông qua FedCM để đảm bảo khả năng tương thích. Bạn nên kiểm tra trang web của mình có bật cờ kiểm tra cookie của bên thứ ba và nếu cần, bằng cách sử dụng danh sách kiểm tra di chuyển FedCM để chuẩn bị.

Miền đăng nhập riêng biệt

Một số trang web sử dụng một miền khác chỉ để xác thực những người dùng không sử dụng đủ điều kiện để sử dụng cookie cùng trang web, chẳng hạn như một trang web sử dụng example.com cho cookie chính và login.example cho quy trình đăng nhập (có thể yêu cầu truy cập vào) cookie của bên thứ ba để đảm bảo rằng người dùng được xác thực trên cả miền.

Các lộ trình di chuyển có thể áp dụng trong trường hợp này là:

  • Nội dung cập nhật để sử dụng cookie của bên thứ nhất ("same-site"): Thay đổi cơ sở hạ tầng trang web để luồng đăng nhập được lưu trữ trên cùng một miền (hoặc một miền con) làm trang web chính và sẽ chỉ sử dụng cookie của bên thứ nhất. Việc này có thể đòi hỏi nhiều công sức hơn, tuỳ thuộc vào cách thiết lập cơ sở hạ tầng.
  • Dùng Bộ trang web có liên quan (RWS): Bật tính năng Nhóm trang web có liên quan truy cập hạn chế vào cookie trên nhiều trang web giữa một nhóm nhỏ các tên miền có liên quan. RWS là một API Hộp cát về quyền riêng tư được xây dựng để hỗ trợ trường hợp sử dụng này. Tuy nhiên, chỉ có RWS hỗ trợ truy cập cookie trên nhiều trang web trên số lượng tên miền được giới hạn.
  • Nếu bạn xác thực người dùng trên hơn 5 miền được liên kết, khám phá FedCM: Quản lý thông tin xác thực liên kết (FedCM) cho phép nhà cung cấp danh tính dựa vào Chrome để xử lý các luồng liên quan đến danh tính mà không cần yêu cầu cookie của bên thứ ba. Trong trường hợp của bạn, "miền đăng nhập" có thể hoạt động như nhà cung cấp danh tính FedCM và dùng để xác thực người dùng trên miền.

Nhiều tên miền

Khi một doanh nghiệp có nhiều sản phẩm được lưu trữ trên các miền hoặc miền con khác nhau, có thể muốn chia sẻ phiên người dùng trên các sản phẩm đó, một trường hợp mà có thể yêu cầu truy cập cookie của bên thứ ba giữa nhiều miền.

Trong trường hợp này, việc lưu trữ tất cả sản phẩm trong cùng một miền thường không thực tế. Các giải pháp có thể có trong trường hợp này là:

  • Sử dụng Nhóm trang web có liên quan: Khi cần quyền truy cập vào cookie trên nhiều trang web giữa một nhóm nhỏ các miền có liên quan.
  • Sử dụng giải pháp Quản lý thông tin xác thực liên kết (FedCM): Khi số lượng lớn, bạn có thể sử dụng một miền đăng nhập riêng để làm danh tính và xác thực người dùng trên các trang web của bạn bằng FedCM.

Giải pháp đăng nhập

Đăng nhập một lần (SSO) của bên thứ ba

Do tính phức tạp của việc triển khai giải pháp SSO, nhiều công ty đã chọn cách sử dụng nhà cung cấp giải pháp của bên thứ ba để chia sẻ trạng thái đăng nhập giữa nhiều thiết bị nguồn gốc. Ví dụ về các nhà cung cấp: Okta, Ping Identity, Google Cloud IAM hoặc Microsoft Entra ID.

Khi sử dụng một nhà cung cấp bên thứ ba, cách tốt nhất là hỏi ý kiến hướng dẫn của cho nhà cung cấp biết các thay đổi về cookie của bên thứ ba sẽ ảnh hưởng như thế nào đến giải pháp và họ đề xuất phương pháp nào cho dịch vụ của mình.

Giải pháp đăng nhập một lần (SSO) nguồn mở

Nhiều công ty duy trì giải pháp SSO của riêng mình sẽ làm như vậy bằng cách sử dụng các tiêu chuẩn ngành, chẳng hạn như OpenID Connect, OAuth hay SAML hoặc phương thức mở được thiết lập các dự án nguồn, như Keycloak, WSO2, Auth.js hoặc Hydra.

Bạn nên kiểm tra tài liệu dành cho nhà cung cấp của mình để nắm được những thay đổi về cookie có thể ảnh hưởng đến giải pháp của họ và đường dẫn di chuyển tốt nhất cho giải pháp cụ thể đó.

Giải pháp nội bộ tuỳ chỉnh

Nếu giải pháp đăng nhập của bạn rơi vào một trong các trường hợp sử dụng trước đó và được xây dựng nội bộ, Chuẩn bị cho việc loại bỏ cookie của bên thứ ba sẽ giải thích chi tiết hơn chi tiết cách kiểm tra mã của bạn và chuẩn bị cho các thay đổi về cookie của bên thứ ba.

Hãy hành động ngay!

Nếu trang web của bạn thuộc một trong các trường hợp sử dụng, thì bạn sẽ có nhiều giải pháp sẵn sàng giải quyết mọi tác động có thể xảy ra, từ việc chuyển quy trình xác thực đến miền chính để chỉ sử dụng cookie của bên thứ nhất, Nhóm trang web có liên quan để cho phép chia sẻ cookie giữa một số ít hoặc sử dụng tính năng Quản lý thông tin đăng nhập liên kết.

Thời điểm kiểm tra dịch vụ của bạn và chuẩn bị cho cookie của bên thứ ba thay đổi hiện là!