Kiểm tra tác động của việc ngừng sử dụng cookie của bên thứ ba đối với quy trình đăng nhập của bạn

Cookie của bên thứ ba có cách sử dụng hợp lệ, nhưng cũng cho phép theo dõi trên nhiều trang web. Chrome dự định hạn chế cookie của bên thứ ba đối với 1% người dùng trong quý 1 năm 2024 để hỗ trợ việc thử nghiệm, sau đó tăng cường ngừng sử dụng cookie của bên thứ ba cho 100% người dùng từ quý 3 năm 2024, để giải quyết mọi mối lo ngại còn lại về cạnh tranh của Cơ quan Cạnh tranh và Thị trường (CMA) của Vương quốc Anh. Nếu trang web của bạn có quy trình đăng nhập dựa vào cookie của bên thứ ba, thì sự thay đổi này có thể sẽ ảnh hưởng đến quy trình này. Bạn phải đảm bảo trang web của mình đã sẵn sàng.

Trên trang này, bạn sẽ tìm thấy thông tin về các tình huống đăng nhập có nhiều khả năng bị ảnh hưởng nhất, cũng như tài liệu tham khảo về 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ư publisher.examplelogin.publisher.example, thì trang web sẽ không sử dụng cookie trên nhiều trang web và quy trình đăng nhập của bạn dự kiến sẽ không bị ảnh hưởng bởi việc loại bỏ.

Tuy nhiên, nếu trang web của bạn sử dụng miền riêng để đăng nhập, chẳng hạn như tính năng Đă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 xác thực người dùng trên nhiều miền hoặc miền con, thì có thể bạn cần thay đổi các thay đổi trên trang web để đảm bảo quá trình chuyển đổi diễn ra suôn sẻ khỏi cookie trên nhiều trang web.

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

Đây là danh sách kiểm tra gồm những việc cần kiểm tra sau khi bạn hạn chế cookie của bên thứ ba:

  • Đăng ký người dùng: Thao tác tạo tài khoản mới hoạt động như mong đợi. Nếu bạn sử dụng nhà cung cấp danh tính bên thứ ba, hãy kiểm tra để đảm bảo rằng việc đăng ký tài khoản mới phù hợp với mọi hoạt động 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, CAPTCHA cho đến 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à khi chuyển đến các miền khác. Hãy nhớ kiểm tra mọi tích hợp đăng nhập.
  • Đăng xuất: Quy trình đăng xuất hoạt động như dự kiến và người dùng vẫn duy trì trạng thái đăng xuất sau quy trình đăng xuất.

Bạn cũng nên kiểm thử để đả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 được mà không cần cookie trên nhiều trang web, đặc biệt nếu các tính năng đó liên quan đến việc tải tài nguyên 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, hãy đảm bảo 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, bị kiểm soát khi đăng nhập, hãy đảm bảo rằng các hành trình này vẫn hoạt động.

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

Danh tính được liên kết

Các nút đăng nhập như Đăng nhập bằng Google, Đăng nhập FacebookĐăng nhập bằng Twitter là dấu hiệu chính xác 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 riêng, giải pháp tốt nhất là kiểm tra tài liệu của nhà cung cấp hoặc liên hệ với họ để được hướng dẫn thêm.

Nếu đang dùng thư viện nền tảng JavaScript (đăng nhập bằng Google) không dùng nữa, bạn có thể tìm 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 của Google mới hơn đã sẵn sàng cho việc ngừng sử dụng cookie của bên thứ ba, vì thư viện sẽ tự động di chuyển sang sử dụng FedCM để tương thích. Bạn nên kiểm thử trang web của mình bằng cách bật cờ thử nghiệm loại bỏ cookie của bên thứ ba và nếu cần, hãy sử dụng danh sách kiểm tra quá trình di chuyển FedCM để chuẩn bị.

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

Một số trang web chỉ sử dụng miền khác để xác thực người dùng không đủ điều kiện sử dụng cookie cùng trang web, chẳng hạn như trang web dùng example.com cho trang web chính và login.example cho quy trình đăng nhập. Quy trình này 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ả hai miền.

Các đường dẫn di chuyển có thể có cho trường hợp này là:

  • Cập nhật để sử dụng cookie của bên thứ nhất ("cùng trang web"): Thay đổi cơ sở hạ tầng của trang web để quy trình đăng nhập được lưu trữ trên cùng một miền (hoặc một miền con) với trang web chính và chỉ sử dụng cookie của bên thứ nhất. Việc này có thể khiến bạn phải tốn nhiều công sức hơn, tuỳ thuộc vào cách thiết lập cơ sở hạ tầng.
  • Sử dụng Bộ trang web có liên quan (RWS): Bộ trang web có liên quan cho phép truy cập có giới hạn vào cookie trên nhiều trang web giữa một nhóm nhỏ các 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, RWS chỉ hỗ trợ quyền truy cập cookie trên nhiều trang web trên một số ít miền.
  • Nếu bạn đang xác thực người dùng trên hơn 5 miền có liên quan, hãy khám phá FedCM: Tính năng 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 quy trình liên quan đến danh tính mà không cần đến cookie của bên thứ ba. Trong trường hợp của bạn, "miền đăng nhập" có thể đóng vai trò là nhà cung cấp danh tính FedCM và được dùng để xác thực người dùng trên các miền khác của bạ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, doanh nghiệp có thể muốn chia sẻ phiên người dùng trên các sản phẩm đó, trường hợp 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 là không phù hợp. Các giải pháp khả thi trong trường hợp này là:

  • Sử dụng Bộ 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 Quản lý thông tin xác thực liên kết (FedCM): Khi số lượng miền lớn, bạn có thể sử dụng một miền đăng nhập riêng để làm trình cung cấp danh tính và xác thực người dùng trên các trang web của mình 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 việc triển khai giải pháp SSO trở nên phức tạp, nhiều công ty chọn sử dụng nhà cung cấp giải pháp bên thứ ba để chia sẻ trạng thái đăng nhập giữa nhiều 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 nhà cung cấp bên thứ ba, cách tiếp cận tốt nhất là tham khảo ý kiến của nhà cung cấp về mức độ ảnh hưởng của việc loại bỏ cookie của bên thứ ba đối với giải pháp và phương pháp tiếp cận họ đề xuất cho dịch vụ của họ.

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

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

Bạn nên xem tài liệu dành cho nhà cung cấp của mình để biết việc loại bỏ cookie có thể ảnh hưởng như thế nào đến giải pháp của họ, cũng như đườ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 những trường hợp sử dụng trước đó và được tạo nội bộ, bài viết Chuẩn bị để ngừng sử dụng cookie của bên thứ ba sẽ giải thích chi tiết hơn về cách kiểm tra mã của bạn và chuẩn bị cho việc loại bỏ 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 này, thì sẽ có nhiều giải pháp giúp giải quyết mọi tác động có thể xảy ra, từ việc di chuyển quy trình xác thực sang miền chính để trang web chỉ sử dụng cookie của bên thứ nhất, sử dụng Bộ trang web có liên quan để cho phép chia sẻ cookie giữa một số ít miền hoặc tận dụng tính năng Quản lý thông tin xác thực liên kết.

Đây là thời điểm để kiểm tra dịch vụ của bạn và chuẩn bị cho việc loại bỏ cookie của bên thứ ba hiện là!