Chuyển sang FedCM

Hướng dẫn này giúp bạn hiểu về các thay đổi đối với ứng dụng web của mình do API Quản lý thông tin xác thực liên kết (FedCM).

Khi FedCM được bật, trình duyệt sẽ hiển thị lời nhắc của người dùng và không có lời nhắc của bên thứ ba nào cookie được sử dụng.

Tổng quan

Hộp cát về quyền riêng tư cho webViệc Chrome xoá cookie của bên thứ ba khỏi môi trường web giới thiệu những thay đổi quan trọng đối với Dịch vụ nhận dạng của Google và hoạt động đăng nhập của người dùng.

FedCM cho phép nhiều luồng đăng nhập riêng tư hơn mà không yêu cầu sử dụng cookie của bên thứ ba. Trình duyệt kiểm soát cài đặt người dùng, hiển thị lời nhắc người dùng, và chỉ liên hệ với Nhà cung cấp danh tính, chẳng hạn như Google sau khi người dùng rõ ràng được đồng ý.

Đối với hầu hết các trang web, quá trình di chuyển diễn ra liền mạch thông qua khả năng tương thích ngược các bản cập nhật cho thư viện JavaScript cho Dịch vụ nhận dạng của Google.

Thông tin cập nhật về tính năng Tự động đăng nhập

Phiên bản thử nghiệm Quản lý thông tin xác thực liên kết (FedCM) dành cho Dịch vụ nhận dạng của Google ra mắt vào tháng 8 năm 2023. Nhiều nhà phát triển đã thử nghiệm API và đã cung cấp ý kiến phản hồi có giá trị.

Một câu trả lời mà Google nhận được từ các nhà phát triển là về tính năng tự động đăng nhập bằng FedCM yêu cầu về cử chỉ của người dùng trong luồng. Để tăng cường bảo vệ quyền riêng tư, Chrome yêu cầu người dùng xác nhận lại rằng họ muốn đăng nhập vào trang web bằng Tài khoản Google trong mỗi Phiên bản Chrome ngay cả khi người dùng đã phê duyệt trang web trước FedCM phát hành ứng dụng. Việc xác nhận lại một lần này đạt được thông qua một cú nhấp chuột duy nhất vào Lời nhắc một lần chạm để thể hiện ý định đăng nhập của người dùng. Thay đổi này có thể khiến sự gián đoạn ban đầu đối với tỷ lệ chuyển đổi đăng nhập tự động đối với một số trang web.

Gần đây trong M121, Chrome đã thay đổi tính năng tự động đăng nhập bằng FedCM luồng trải nghiệm người dùng. Bạn chỉ bắt buộc phải xác nhận lại khi cookie của bên thứ ba được bị hạn chế. Điều này có nghĩa là:

  1. Trước khi các quy định hạn chế sử dụng cookie của bên thứ ba được tăng lên đến 100% (xem phần Quyền riêng tư trang Tin tức và cập nhật của Sandbox theo dòng thời gian mới nhất), Tính năng tự động đăng nhập bằng FedCM không yêu cầu người dùng cũ xác nhận lại. Nếu người dùng xác nhận lại bằng giao diện người dùng FedCM, thì việc xác nhận lại này sẽ được tính vào cử chỉ của người dùng đối với thời đại hậu 3PCD.

  2. Tính năng tự động đăng nhập bằng FedCM sẽ kiểm tra trạng thái xác nhận lại khi cookie của bên thứ ba bị người dùng hạn chế theo cách thủ công ngay hôm nay hoặc theo mặc định trong Chrome tương lai.

Do sự thay đổi này, tất cả các nhà phát triển phát triển tính năng tự động đăng nhập nên chuyển sang FedCM càng sớm càng tốt để giảm sự gián đoạn đối với tỷ lệ chuyển đổi đăng nhập tự động.

Đối với quy trình đăng nhập tự động, GIS JavaScript sẽ không kích hoạt FedCM trên Chrome (trước M121), ngay cả khi trang web của bạn chọn tham gia FedCM.

Sự khác biệt trong hành trình của người dùng

Trải nghiệm Một lần chạm khi dùng FedCM và không dùng FedCM chỉ tương tự nhau những điểm khác biệt nhỏ.

Người dùng mới trong một phiên hoạt động

Khi dùng FedCM, tính năng Một lần chạm sẽ hiển thị tên miền thay vì tên ứng dụng.

Sử dụng FedCM Không dùng FedCM
Người dùng mới trong một phiên sử dụng FedCM Người dùng mới trong một phiên hoạt động không sử dụng FedCM

Người dùng cũ trong một phiên (đã tắt tính năng tự động đăng nhập)

Khi dùng FedCM, tính năng Một lần chạm sẽ hiển thị tên miền thay vì tên ứng dụng.

Sử dụng FedCM Không dùng FedCM
Hành trình của người dùng cũ trong một phiên bằng FedCM (tính năng tự động đăng nhập bị tắt) Hành trình của người dùng cũ trong một phiên không sử dụng FedCM (tính năng tự động đăng nhập bị tắt)

Người dùng cũ trong một phiên (khi bật tính năng tự động đăng nhập)

Khi sử dụng FedCM, người dùng có thể nhấp vào dấu X để huỷ phiên tự động đăng nhập trong vòng 5 giây thay vì nhấp vào nút Cancel (Huỷ).

Sử dụng FedCM Không dùng FedCM
Hành trình của người dùng cũ trong một phiên bằng FedCM (khi bật tính năng tự động đăng nhập) Hành trình của người dùng cũ trong một phiên không sử dụng FedCM (khi bật tính năng tự động đăng nhập)

Nhiều phiên

Khi dùng FedCM, tính năng Một lần chạm sẽ hiển thị tên miền thay vì tên ứng dụng.

Sử dụng FedCM Không dùng FedCM
Người dùng nhiều phiên sử dụng FedCM Người dùng nhiều phiên không có FedCM

Trước khi bắt đầu

Kiểm tra để đảm bảo rằng phiên bản và chế độ cài đặt trình duyệt của bạn hỗ trợ API FedCM. bạn nên cập nhật lên phiên bản mới nhất.

  • FedCM API có trên Chrome 117 trở lên.

  • Chế độ cài đặt Đăng nhập qua bên thứ ba được bật trong Chrome.

  • Nếu trình duyệt Chrome có phiên bản 119 trở xuống, hãy mở chrome://flags và bật tính năng FedCmWithoutThirdPartyCookies thử nghiệm. Bước này bạn không cần dùng trình duyệt Chrome phiên bản 120 trở lên.

Di chuyển ứng dụng web

Làm theo các bước sau để bật FedCM, đánh giá tác động tiềm năng của quá trình di chuyển, và nếu cần thực hiện các thay đổi đối với ứng dụng web hiện tại của bạn:

1. Thêm cờ boolean để bật FedCM khi khởi chạy bằng cách sử dụng:

2. Xoá việc sử dụng các phương thức isDisplayMoment(), isDisplayed(), isNotDisplayed()getNotDisplayedReason() trong mã của bạn.

Để cải thiện quyền riêng tư của người dùng, lệnh gọi lại google.accounts.id.prompt không trả về bất kỳ thông báo khoảnh khắc hiển thị nào trong PromptMomentNotication. Xoá mọi mã phụ thuộc vào hiển thị phương thức liên quan đến khoảnh khắc. Đó là isDisplayMoment(), isDisplayed(), Phương thức isNotDisplayed()getNotDisplayedReason().

3. Xoá việc sử dụng phương thức getSkippedReason() trong mã của bạn.

Mặc dù khoảnh khắc bỏ qua, isSkippedMoment(), vẫn sẽ được gọi từ Lệnh gọi lại google.accounts.id.prompt trong PromptMomentNotication , lý do chi tiết sẽ không được cung cấp. Xoá mọi mã phụ thuộc phương thức getSkippedReason() từ mã của bạn.

Lưu ý rằng thông báo khoảnh khắc đã bỏ qua, isDismissedMoment() và phương thức lý do chi tiết có liên quan (getDismissedReason()) sẽ không thay đổi khi FedCM được bật.

4. Xoá các thuộc tính kiểu position khỏi data-prompt_parent_idintermediate_iframes.

Trình duyệt kiểm soát kích thước và vị trí của lời nhắc người dùng, vị trí tuỳ chỉnh không hỗ trợ tính năng Một lần chạm trên máy tính.

5. Cập nhật bố cục trang nếu cần.

Trình duyệt kiểm soát kích thước và vị trí của lời nhắc người dùng. Tuỳ thuộc vào bố cục của từng trang riêng lẻ, một số nội dung có thể được phủ lên dưới dạng tuỳ chỉnh các vị trí cho Một lần chạm trên máy tính không được hỗ trợ theo bất kỳ cách nào như thuộc tính kiểu, data-prompt_parent_id, intermediate_iframes, iframe tùy chỉnh và các cách sáng tạo khác.

Thay đổi bố cục trang để cải thiện trải nghiệm người dùng khi thông tin quan trọng bị che khuất. Đừng xây dựng trải nghiệm người dùng dựa trên lời nhắc Một lần chạm ngay cả khi bạn cho rằng nó ở vị trí mặc định. Vì API FedCM do trình duyệt dàn xếp, các nhà cung cấp trình duyệt khác nhau có thể đặt vị trí của lời nhắc một chút theo cách khác.

6. Thêm thuộc tính allow="identity-credentials-get" vào khung gốc nếu ứng dụng web của bạn gọi API Một lần chạm từ các iframe nhiều nguồn gốc.

Iframe được coi là có nhiều nguồn gốc nếu origin không hoàn toàn giống với nguồn gốc của tài khoản mẹ. Ví dụ:

  • Các miền khác nhau: https://example1.comhttps://example2.com
  • Các miền cấp cao nhất khác nhau: https://example.ukhttps://example.jp
  • Miền con: https://example.comhttps://login.example.com

    Để cải thiện quyền riêng tư của người dùng, khi gọi API Một lần chạm qua các iframe trên nhiều nguồn gốc, bạn phải thêm allow="identity-credentials-get" trong mọi thẻ iframe của khung mẹ:

    <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>
    

    Nếu ứng dụng của bạn dùng iframe chứa một iframe khác, bạn phải đảm bảo rằng thuộc tính được thêm vào mọi iframe, bao gồm tất cả các iframe phụ.

    Ví dụ: xem xét những tình huống sau:

  • Tài liệu trên cùng (https://www.example.uk) chứa iframe có tên "Iframe A", nhúng một trang (https://logins.example.com).

  • Trang được nhúng này (https://logins.example.com) cũng chứa một iframe có tên "Iframe B", nhúng thêm một trang (https://onetap.example2.com) có lưu trữ tính năng Một lần chạm.

    Bạn phải thêm thuộc tính này để có thể hiển thị chính xác chế độ Một lần chạm vào cả thẻ Iframe A và Iframe B.

    Chuẩn bị cho các câu hỏi trên lời nhắc Một lần chạm không xuất hiện. Các trang web khác có nguồn gốc khác có thể nhúng các trang lưu trữ tính năng Một lần chạm của bạn trong iframe của chúng. Bạn có thể nhận được nhiều phiếu yêu cầu hỗ trợ hơn liên quan đến việc tính năng Một lần chạm không hiển thị từ người dùng cuối hoặc chủ sở hữu trang web khác. Trong khi chỉ chủ sở hữu trang web mới có thể thực hiện cập nhật trên các trang của họ, bạn có thể thực hiện sau đây để giảm thiểu tác động:

  • Cập nhật tài liệu dành cho nhà phát triển để bổ sung cách thiết lập iframe để gọi trang web của bạn một cách thích hợp. Bạn có thể liên kết đến trang này trong tài liệu của mình.

  • Cập nhật trang Câu hỏi thường gặp dành cho nhà phát triển (nếu có).

  • Thông báo cho nhóm hỗ trợ của bạn về sự thay đổi sắp tới này và chuẩn bị sẵn sàng ứng phó trước câu hỏi.

  • Chủ động liên hệ với đối tác, khách hàng hoặc chủ sở hữu trang web bị ảnh hưởng để yêu cầu quá trình chuyển đổi FedCM suôn sẻ.

7. Thêm chỉ thị này vào Chính sách bảo mật nội dung (CSP) của bạn.

Bước này là không bắt buộc vì không phải trang web nào cũng chọn xác định CSP.

  • Nếu trang web của bạn không sử dụng CSP thì bạn không cần thay đổi gì.

  • Nếu CSP của bạn hoạt động với tính năng Một lần chạm hiện tại và bạn không dùng connect-src, frame-src, script-src, style-src hoặc default-src không có thay đổi nào cần thiết.

  • Nếu không, hãy làm theo hướng dẫn này để thiết lập CSP. Không có CSP phù hợp thiết lập, thì ứng dụng Một lần chạm của FedCM sẽ không xuất hiện trên trang web.

8. Xoá tính năng hỗ trợ đăng nhập bằng Accelerated Mobile Pages (AMP).

Hỗ trợ người dùng đăng nhập cho AMP là một tính năng không bắt buộc của ứng dụng GIS trên web có thể đã triển khai. Nếu trường hợp này xảy ra,

Xoá mọi tham chiếu đến:

  • amp-onetap-google

  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>
    

    Cân nhắc chuyển hướng yêu cầu đăng nhập từ AMP đến đăng nhập HTML của trang web của bạn luồng. Xin lưu ý rằng Intermediate Iframe Support API có liên quan là không bị ảnh hưởng.

Kiểm thử và xác minh quá trình di chuyển

Sau khi thực hiện những thay đổi cần thiết dựa trên các bước trước đó, bạn có thể xác minh di chuyển thành công.

  1. Xác nhận rằng trình duyệt của bạn hỗ trợ FedCM và bạn đã có Tài khoản Google Phiên hoạt động của tài khoản.

  2. Chuyển đến(các) trang Một lần chạm trong ứng dụng của bạn.

  3. Xác nhận rằng lời nhắc Một lần chạm đã được hiển thị và có các lớp phủ an toàn bên dưới nội dung.

  4. Xác nhận thông tin xác thực trả về là thông tin xác thực chính xác đối với điểm cuối hoặc phương thức gọi lại khi đăng nhập vào ứng dụng bằng tính năng Một lần chạm.

  5. Nếu tính năng tự động đăng nhập đã bật, hãy xác minh rằng tính năng huỷ hoạt động và chính xác thông tin xác thực chính xác sẽ trở về điểm cuối hoặc phương thức gọi lại của bạn.

Khoảng thời gian chờ bằng tính năng Một lần chạm

Nhấp vào biểu tượng Một lần chạm Ở góc trên cùng bên phải, thông báo nhắc sẽ đóng và chuyển sang thời gian quan sát thêm sẽ ngăn lời nhắc Một lần chạm hiển thị tạm thời. Trong Chrome, nếu bạn muốn thấy lại lời nhắc Một lần chạm trước khi thời gian quan sát thêm kết thúc, bạn có thể đặt lại trạng thái thời gian chờ bằng cách nhấp vào biểu tượng khoá trên thanh địa chỉ và nhấp vào nút Đặt lại quyền.

Tự động đăng nhập trong thời gian yên tĩnh

Khi thử nghiệm tính năng đăng nhập tự động bằng tính năng Một lần chạm bằng FedCM, công cụ này có 10 phút thời gian yên tĩnh giữa mỗi lần đăng nhập tự động. Bạn không được thay đổi thời gian yên tĩnh đã đặt lại. Bạn sẽ phải đợi 10 phút hoặc sử dụng Tài khoản Google khác để thử nghiệm nhằm kích hoạt lại tính năng tự động đăng nhập.

Thông tin hữu ích

Công cụ phân tích Hộp cát về quyền riêng tư (PSAT) là một tiện ích của Công cụ cho nhà phát triển của Chrome với các năng lực chuyên biệt để giúp nhà phát triển đối phó với việc ngừng sử dụng cookie của bên thứ ba và sử dụng API thay thế. Công cụ này hoạt động bằng cách quét mã trang web cho các tính năng bị ảnh hưởng và cung cấp danh sách các thay đổi được đề xuất.