ย้ายข้อมูลไปยัง FedCM

คู่มือนี้จะช่วยให้คุณเข้าใจการเปลี่ยนแปลงเว็บแอปพลิเคชันของคุณ เปิดตัวโดย Federated Credentials Management API (FedCM)

เมื่อเปิดใช้งาน FedCM เบราว์เซอร์จะแสดงข้อความแจ้งของผู้ใช้และไม่มีบุคคลที่สาม การใช้คุกกี้

ภาพรวม

FedCM ทำให้มีขั้นตอนการลงชื่อเข้าใช้ที่เป็นส่วนตัวมากขึ้นโดยไม่ต้องใช้ คุกกี้ของบุคคลที่สาม เบราว์เซอร์จะควบคุมการตั้งค่าของผู้ใช้ แสดงข้อความแจ้งของผู้ใช้ และติดต่อผู้ให้บริการข้อมูลประจำตัว เช่น Google หลังจากที่มีผู้ใช้อย่างชัดแจ้งเท่านั้น ได้รับความยินยอม

สำหรับเว็บไซต์ส่วนใหญ่ การย้ายข้อมูลจะเกิดขึ้นอย่างราบรื่นผ่านความเข้ากันได้แบบย้อนหลัง อัปเดตไลบรารี JavaScript ของบริการข้อมูลประจำตัวของ Google

ข้อมูลอัปเดตเกี่ยวกับฟีเจอร์ลงชื่อเข้าใช้อัตโนมัติ

การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์ (Federated Credential Management หรือ FedCM) Beta for Google Identity Services เปิดตัวไปเมื่อเดือนสิงหาคม 2023 นักพัฒนาซอฟต์แวร์จำนวนมากได้ทดสอบ API และได้ให้ ความคิดเห็นที่มีค่า

คำตอบหนึ่งที่ Google ได้ยินจากนักพัฒนาแอปเกี่ยวกับการลงชื่อเข้าใช้อัตโนมัติของ FedCM ข้อกำหนดท่าทางสัมผัสของผู้ใช้ เพื่อความเป็นส่วนตัวที่ดียิ่งขึ้น Chrome กำหนดให้ผู้ใช้ต้อง ยืนยันอีกครั้งว่าต้องการลงชื่อเข้าใช้เว็บไซต์ด้วยบัญชี Google อินสแตนซ์ Chrome แม้ว่าผู้ใช้จะอนุมัติเว็บไซต์ก่อน FedCM ก็ตาม การเปิดตัว ซึ่งสามารถทำได้ด้วยการคลิกเพียงครั้งเดียวที่ ข้อความแจ้งด้วยการแตะเพียงครั้งเดียวเพื่อแสดงความตั้งใจของผู้ใช้ในการลงชื่อเข้าใช้ การเปลี่ยนแปลงนี้อาจทำให้ การหยุดชะงักครั้งแรกของอัตรา Conversion การลงชื่อเข้าใช้โดยอัตโนมัติสำหรับบางเว็บไซต์

เมื่อเร็วๆ นี้ Chrome ได้เปลี่ยนแปลงการลงชื่อเข้าใช้อัตโนมัติของ FedCM ใน M121 ขั้นตอน UX จำเป็นต้องยืนยันอีกครั้งเมื่อใช้คุกกี้ของบุคคลที่สามเท่านั้น แบบจำกัด ซึ่งหมายความว่า

  1. การลงชื่อเข้าใช้โดยอัตโนมัติของ FedCM ไม่จำเป็นต้องยืนยันอีกครั้งสำหรับผู้ใช้ที่กลับมา หากผู้ใช้ยืนยันอีกครั้งด้วย UI ของ FedCM การยืนยันซ้ำนี้จะนับรวมใน ข้อกำหนดท่าทางสัมผัสของผู้ใช้สำหรับยุคหลังเกม 3PCD

  2. การลงชื่อเข้าใช้โดยอัตโนมัติของ FedCM จะตรวจสอบสถานะการยืนยันอีกครั้งเมื่อ ผู้ใช้จำกัดคุกกี้ของบุคคลที่สามด้วยตนเองในปัจจุบัน หรือโดยค่าเริ่มต้นใน Chrome ในอนาคต

ในการเปลี่ยนแปลงนี้ เราขอแนะนำให้นักพัฒนาแอปที่ลงชื่อเข้าใช้โดยอัตโนมัติทุกรายย้ายข้อมูลไปยัง FedCM โดยเร็วที่สุด เพื่อลดการหยุดชะงักของอัตรา Conversion ของการลงชื่อเข้าใช้โดยอัตโนมัติ

สำหรับขั้นตอนการลงชื่อเข้าใช้อัตโนมัติ JavaScript ของ GIS จะไม่ทริกเกอร์ FedCM ในเวอร์ชันเก่า Chrome (ก่อน M121) แม้ว่าเว็บไซต์ของคุณจะเลือกใช้ FedCM ก็ตาม

ความแตกต่างของเส้นทางของผู้ใช้

การใช้งาน One Tap ที่ใช้ FedCM และไม่มี FedCM จะคล้ายกันเฉพาะกับ ความแตกต่างเล็กน้อย

ผู้ใช้ใหม่แบบเซสชันเดียว

เมื่อใช้ FedCM One Tap จะแสดงชื่อโดเมนแทนชื่อแอปพลิเคชัน

การใช้ FedCM ไม่มี FedCM
ผู้ใช้ใหม่แบบเซสชันเดียวที่ใช้ FedCM ผู้ใช้ใหม่แบบเซสชันเดียวที่ไม่มี FedCM

ผู้ใช้ที่กลับมาแบบเซสชันเดียว (ปิดใช้งานการลงชื่อเข้าใช้อัตโนมัติ)

เมื่อใช้ FedCM One Tap จะแสดงชื่อโดเมนแทนชื่อแอปพลิเคชัน

การใช้ FedCM ไม่มี FedCM
เส้นทางของผู้ใช้ที่กลับมาแบบเซสชันเดียวโดยใช้ FedCM (ปิดใช้งานการลงชื่อเข้าใช้อัตโนมัติ) เส้นทางของผู้ใช้ที่กลับมาแบบเซสชันเดียวโดยไม่มี FedCM (ปิดใช้งานการลงชื่อเข้าใช้อัตโนมัติ)

ผู้ใช้ที่กลับมาแบบเซสชันเดียว (ที่เปิดใช้การลงชื่อเข้าใช้อัตโนมัติ)

เมื่อใช้ FedCM ผู้ใช้สามารถคลิก X เพื่อยกเลิกการลงชื่อเข้าใช้อัตโนมัติได้ภายใน 5 วินาทีแทนที่จะคลิกปุ่มยกเลิก

การใช้ FedCM ไม่มี FedCM
เส้นทางของผู้ใช้ที่กลับมาแบบเซสชันเดียวโดยใช้ FedCM (ที่เปิดใช้การลงชื่อเข้าใช้อัตโนมัติ) เส้นทางของผู้ใช้ที่กลับมาแบบเซสชันเดียวโดยไม่มี FedCM (ที่เปิดใช้การลงชื่อเข้าใช้อัตโนมัติ)

หลายเซสชัน

เมื่อใช้ FedCM One Tap จะแสดงชื่อโดเมนแทนชื่อแอปพลิเคชัน

การใช้ FedCM ไม่มี FedCM
ผู้ใช้หลายเซสชันที่ใช้ FedCM ผู้ใช้หลายเซสชันที่ไม่มี FedCM

ก่อนเริ่มต้น

ตรวจสอบว่าการตั้งค่าเบราว์เซอร์และเวอร์ชันรองรับ FedCM API ขอแนะนำให้อัปเดตเป็นเวอร์ชันล่าสุด

  • FedCM API พร้อมใช้งานใน Chrome 117 ขึ้นไป

  • มีการเปิดใช้การตั้งค่าการลงชื่อเข้าใช้ของบุคคลที่สามใน Chrome

  • หากเบราว์เซอร์ Chrome เป็นเวอร์ชัน 119 หรือเวอร์ชันก่อนหน้า ให้เปิด chrome://flags และ เปิดใช้ฟีเจอร์ FedCmWithoutThirdPartyCookies เวอร์ชันทดลอง ขั้นตอนนี้ ไม่จำเป็นสำหรับเบราว์เซอร์ Chrome เวอร์ชัน 120 ขึ้นไป

ย้ายข้อมูลเว็บแอปของคุณ

ทำตามขั้นตอนต่อไปนี้เพื่อเปิดใช้ FedCM, ประเมินผลกระทบที่อาจเกิดขึ้นจากการย้ายข้อมูล และ ถ้าจำเป็นต้องแก้ไขเว็บแอปพลิเคชันที่มีอยู่:

1. เพิ่มแฟล็กบูลีนเพื่อเปิดใช้ FedCM เมื่อเริ่มโดยใช้สิ่งต่อไปนี้

2. นำการใช้เมธอด isDisplayMoment(), isDisplayed(), isNotDisplayed() และ getNotDisplayedReason() ออกในโค้ดของคุณ

เพื่อปรับปรุงความเป็นส่วนตัวของผู้ใช้ หมายเลขติดต่อกลับของ google.accounts.id.prompt จะแสดงการแจ้งเตือนช่วงเวลาที่แสดงผลใน ออบเจ็กต์ PromptMomentNotication ลบโค้ดที่ขึ้นอยู่กับ แสดงวิธีที่เกี่ยวข้องกับช่วงเวลา ซึ่งได้แก่ isDisplayMoment() isDisplayed() isNotDisplayed() และ getNotDisplayedReason() เมธอด

3. ลบการใช้เมธอด getSkippedReason() ในโค้ดของคุณ

ขณะที่ช่วงเวลาที่ข้ามคือ isSkippedMoment() จะยังคงเรียกใช้จาก การติดต่อกลับ google.accounts.id.prompt ใน PromptMomentNotication จะไม่ระบุเหตุผลโดยละเอียด ลบโค้ดที่ขึ้นอยู่กับ เมธอด getSkippedReason() จากโค้ดของคุณ

โปรดทราบว่าการแจ้งเตือนช่วงเวลาที่ปิด isDismissedMoment() และ เมธอดเหตุผลโดยละเอียดที่เกี่ยวข้อง getDismissedReason() ไม่มีการเปลี่ยนแปลง เมื่อเปิดใช้ FedCM

4. นำแอตทริบิวต์รูปแบบ position ออกจาก data-prompt_parent_id และ intermediate_iframes

เบราว์เซอร์จะควบคุมขนาดและตำแหน่งของข้อความแจ้งของผู้ใช้ ตำแหน่งที่กำหนดเอง และไม่รองรับ One Tap บนเดสก์ท็อป

5. อัปเดตการจัดวางหน้าเว็บหากจำเป็น

เบราว์เซอร์จะควบคุมขนาดและตำแหน่งของข้อความแจ้งของผู้ใช้ ขึ้นอยู่กับ การจัดวางหน้าเว็บแต่ละหน้า เนื้อหาบางส่วนอาจถูกวางซ้อนกันเป็น ตำแหน่งสำหรับ One Tap บนเดสก์ท็อปจะไม่ได้รับการสนับสนุนไม่ว่าในทางใดก็ตาม เช่น แอตทริบิวต์สไตล์, data-prompt_parent_id intermediate_iframes, iframe ที่กำหนดเอง และวิธีอื่นๆ ที่สร้างสรรค์

เปลี่ยนเลย์เอาต์ของหน้าเพื่อปรับปรุงประสบการณ์ของผู้ใช้เมื่อมีข้อมูลสำคัญ ถูกปิดบัง อย่าสร้าง UX โดยใช้ข้อความแจ้งด้วยการแตะเพียงครั้งเดียว แม้ว่าคุณจะคิดว่า ให้อยู่ในตำแหน่งเริ่มต้น เนื่องจาก FedCM API เป็นตัวกลางผ่านเบราว์เซอร์ ผู้ให้บริการเบราว์เซอร์ต่างๆ อาจวางตำแหน่งของข้อความแจ้งเล็กน้อย แตกต่างกัน

6. เพิ่มแอตทริบิวต์ allow="identity-credentials-get" ลงในเฟรมหลักหากเว็บแอปเรียกใช้ One Tap API จาก iframe แบบข้ามต้นทาง

iframe จะถือว่าเป็นแบบข้ามต้นทางหาก origin ไม่ได้ตรงกันทุกประการกับ ต้นทาง ตัวอย่างเช่น:

  • โดเมนต่างกัน: https://example1.com และ https://example2.com
  • โดเมนระดับบนสุดแตกต่างกัน: https://example.uk และ https://example.jp
  • โดเมนย่อย: https://example.com และ https://login.example.com

    เพื่อปรับปรุงความเป็นส่วนตัวของผู้ใช้ เมื่อมีการเรียก One Tap API จาก iframe แบบข้ามต้นทาง คุณต้องเพิ่ม allow="identity-credentials-get" ในแท็ก iframe เฟรมระดับบนสุดทุกแท็ก

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

    หากแอปใช้ iframe ที่มี iframe อื่น คุณต้อง ตรวจสอบว่ามีการเพิ่มแอตทริบิวต์ลงใน iframe ทั้งหมด รวมถึง iframe ย่อยทั้งหมด

    ตัวอย่างเช่น โปรดพิจารณาสถานการณ์ต่อไปนี้

  • เอกสารบนสุด (https://www.example.uk) มี iframe ชื่อ "Iframe A" ที่ฝังหน้า (https://logins.example.com)

  • หน้าที่ฝังไว้นี้ (https://logins.example.com) มี iframe ด้วย ชื่อ "iframe B" ที่ฝังหน้าเพิ่ม (https://onetap.example2.com) ที่โฮสต์ One Tap

    ต้องเพิ่มแอตทริบิวต์ดังกล่าวเพื่อให้แสดง One Tap ได้อย่างถูกต้อง กับทั้งแท็ก iframe A และ iframe B

    เตรียมความพร้อมสำหรับการสอบถามในข้อความแจ้งของ One Tap ที่ไม่แสดง เว็บไซต์อื่นๆ ที่มีต้นทางแตกต่างกันอาจฝังหน้าที่โฮสต์ One Tap ใน iframe คุณอาจได้รับตั๋วสนับสนุนจำนวนมากขึ้น เกี่ยวกับ One Tap ที่ผู้ใช้ปลายทางหรือเจ้าของเว็บไซต์คนอื่นๆ ไม่ปรากฏขึ้น ขณะที่ เฉพาะเจ้าของเว็บไซต์ที่หน้าเว็บของตนทำการอัปเดตได้ คุณสามารถทำสิ่งต่อไปนี้ ดังต่อไปนี้เพื่อลดผลกระทบ

  • อัปเดตเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ให้รวมวิธีตั้งค่า iframe อย่างเหมาะสมในการเรียกเว็บไซต์ของคุณ คุณสามารถลิงก์หน้านี้ได้ในเอกสารของคุณ

  • อัปเดตหน้าคำถามที่พบบ่อยสำหรับนักพัฒนาซอฟต์แวร์ (หากมี)

  • แจ้งให้ทีมสนับสนุนทราบเกี่ยวกับการเปลี่ยนแปลงที่กำลังจะเกิดขึ้นนี้และเตรียมพร้อมสำหรับคำตอบ กับการสอบถามล่วงหน้า

  • ติดต่อพาร์ทเนอร์ ลูกค้า หรือเจ้าของเว็บไซต์ที่ได้รับผลกระทบในเชิงรุกเพื่อ การเปลี่ยนผ่าน FedCM อย่างราบรื่น

7. เพิ่มคำสั่งเหล่านี้ลงในนโยบายรักษาความปลอดภัยเนื้อหา (CSP)

ขั้นตอนนี้เป็นขั้นตอนที่ไม่บังคับ เนื่องจากเว็บไซต์บางเว็บไม่ได้เลือกที่จะกำหนด CSP

  • หากไม่มีการใช้ CSP ในเว็บไซต์ คุณก็ไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ

  • หาก CSP ใช้งานได้กับ One Tap ปัจจุบันและคุณไม่ได้ใช้ connect-src frame-src, script-src, style-src หรือ default-src ไม่มีการเปลี่ยนแปลง ที่จำเป็น

  • หรือทำตามคู่มือนี้เพื่อตั้งค่า CSP ไม่มี CSP ที่เหมาะสม การตั้งค่า FedCM One Tap จะไม่แสดงบนเว็บไซต์

8. นำออก การรองรับ Accelerated Mobile Pages (AMP) สำหรับการลงชื่อเข้าใช้

การรองรับการลงชื่อเข้าใช้ของผู้ใช้สำหรับ AMP เป็นฟีเจอร์เสริมของ GIS ที่เว็บแอปของคุณ อาจนำไปใช้แล้ว หากเป็นเช่นนี้

ลบการอ้างอิงไปยัง

  • amp-onetap-google องค์ประกอบที่กำหนดเอง และ

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

    ลองเปลี่ยนเส้นทางคำขอลงชื่อเข้าใช้จาก AMP ไปยังการลงชื่อเข้าใช้ HTML ของเว็บไซต์ โปรดทราบว่า Intermediate Iframe Support API ที่เกี่ยวข้อง จะไม่ได้รับผลกระทบ

ทดสอบและยืนยันการย้ายข้อมูล

หลังจากทำการเปลี่ยนแปลงที่จำเป็นตามขั้นตอนก่อนหน้านี้แล้ว คุณสามารถยืนยัน การย้ายข้อมูลเสร็จสมบูรณ์

  1. ยืนยันว่าเบราว์เซอร์ของคุณรองรับ FedCM และคุณมี Google เซสชันบัญชี

  2. ไปที่หน้า One Tap ในแอปพลิเคชันของคุณ

  3. ยืนยันว่าข้อความแจ้งด้วย One Tap ปรากฏขึ้นและวางซ้อนอย่างปลอดภัย เนื้อหา

  4. ยืนยันการส่งคืนข้อมูลเข้าสู่ระบบที่ถูกต้องไปยังปลายทางหรือเมธอด Callback เมื่อลงชื่อเข้าใช้แอปพลิเคชันด้วย One Tap

  5. หากเปิดใช้การลงชื่อเข้าใช้อัตโนมัติอยู่ ให้ตรวจสอบว่าการยกเลิกนั้นใช้งานได้และถูกต้อง ข้อมูลเข้าสู่ระบบที่ถูกต้องแสดงผลไปยังปลายทางหรือเมธอด Callback ของคุณ

ระยะเวลาพักของ One Tap

คลิก 1 แตะ ที่มุมขวาบนจะปิดข้อความแจ้งและป้อนระยะเวลาพักซึ่ง ระงับการแสดงข้อความแจ้งด้วยการแตะเพียงครั้งเดียวชั่วคราว ใน Chrome หากคุณ หากต้องการให้ข้อความแจ้งด้วยการแตะเพียงครั้งเดียวแสดงขึ้นอีกครั้งก่อนที่ระยะเวลาพักจะสิ้นสุดลง รีเซ็ตสถานะระยะเวลาพักได้โดยคลิกไอคอนแม่กุญแจในแถบที่อยู่ และ คลิกปุ่มรีเซ็ตสิทธิ์

ช่วงที่ระงับการลงชื่อเข้าใช้โดยอัตโนมัติ

การทดสอบการลงชื่อเข้าใช้โดยอัตโนมัติด้วย One Tap โดยใช้ FedCM จะใช้เวลา 10 นาที ช่วงที่เงียบระหว่างการพยายามลงชื่อเข้าใช้อัตโนมัติทุกครั้ง ต้องไม่กำหนดช่วงเวลาที่เงียบ รีเซ็ต คุณจะต้องรอ 10 นาทีหรือใช้บัญชี Google อื่น สำหรับการทดสอบ ระบบเรียกใช้การลงชื่อเข้าใช้โดยอัตโนมัติอีกครั้ง

แหล่งข้อมูลที่เป็นประโยชน์

เครื่องมือวิเคราะห์ของ Privacy Sandbox (PSAT) เป็นส่วนขยาย Chrome DevTools เพื่อช่วยในการใช้ API อื่นๆ เช่น FedCM ทำงานโดย เพื่อสแกนเว็บไซต์เพื่อหาฟีเจอร์ที่ได้รับผลกระทบและระบุรายการ การเปลี่ยนแปลง