ก่อนที่จะเพิ่มฟีเจอร์ลงชื่อเข้าใช้ด้วย Google, One Tap หรือการลงชื่อเข้าใช้อัตโนมัติลงในเว็บไซต์ของคุณ ให้ตั้งค่า OAuth และกำหนดค่านโยบายรักษาความปลอดภัยเนื้อหาของเว็บไซต์ (ไม่บังคับ)
รับรหัสไคลเอ็นต์ของ Google API
หากต้องการเปิดใช้ฟีเจอร์ลงชื่อเข้าใช้ด้วย Google ในเว็บไซต์ คุณต้องตั้งค่ารหัสไคลเอ็นต์ Google API ก่อน โดยทำตามขั้นตอนต่อไปนี้
- เปิดหน้าข้อมูลเข้าสู่ระบบของคอนโซล Google APIs
- สร้างหรือเลือกโครงการ Google APIs หากคุณมีโปรเจ็กต์สำหรับปุ่ม "ลงชื่อเข้าใช้ด้วย Google" หรือ Google One Tap อยู่แล้ว ให้ใช้โปรเจ็กต์ที่มีอยู่และรหัสไคลเอ็นต์ของเว็บ เมื่อสร้างแอปพลิเคชันเวอร์ชันที่ใช้งานจริง คุณอาจต้องทำหลายโปรเจ็กต์ แล้วทำตามขั้นตอนที่เหลือของส่วนนี้อีกครั้งสำหรับแต่ละโปรเจ็กต์ที่คุณจัดการ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth และสำหรับประเภทแอปพลิเคชัน ให้เลือกเว็บแอปพลิเคชันเพื่อสร้างรหัสไคลเอ็นต์ใหม่ หากต้องการใช้รหัสไคลเอ็นต์ที่มีอยู่ ให้เลือกเว็บแอปพลิเคชันประเภทใดประเภทหนึ่ง
เพิ่ม URI ของเว็บไซต์ลงในต้นทาง JavaScript ที่ได้รับอนุญาต URI ประกอบด้วยรูปแบบและชื่อโฮสต์ที่ตรงตามเกณฑ์ทั้งหมดเท่านั้น ตัวอย่างเช่น
https://www.example.com
(ไม่บังคับ) อาจมีการส่งคืนข้อมูลเข้าสู่ระบบโดยใช้การเปลี่ยนเส้นทางไปยังปลายทางที่คุณโฮสต์แทนผ่านโค้ดเรียกกลับ JavaScript ในกรณีนี้ ให้เพิ่ม URI การเปลี่ยนเส้นทางลงใน URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต URI การเปลี่ยนเส้นทางประกอบด้วยรูปแบบ ชื่อโฮสต์ที่ตรงตามเกณฑ์ทั้งหมด และเส้นทาง และต้องเป็นไปตามกฎการตรวจสอบ URI การเปลี่ยนเส้นทาง ตัวอย่างเช่น
https://www.example.com/auth-receiver
กำหนดค่าหน้าจอขอความยินยอม OAuth
การตรวจสอบสิทธิ์ทั้งสำหรับฟีเจอร์ลงชื่อเข้าใช้ด้วย Google และ One Tap จะมีหน้าจอคำยินยอมที่บอกผู้ใช้เกี่ยวกับแอปพลิเคชันที่ขอเข้าถึงข้อมูลของผู้ใช้ ประเภทข้อมูลที่ผู้ใช้ขอ และข้อกำหนดที่บังคับใช้
- เปิดหน้าหน้าจอคำยินยอม OAuth ของส่วน API และบริการของ Google Developer Console
- เมื่อได้รับข้อความแจ้ง ให้เลือกโปรเจ็กต์ที่คุณเพิ่งสร้าง
ในหน้า "หน้าจอคำยินยอม OAuth" ให้กรอกแบบฟอร์มและคลิกปุ่ม "บันทึก"
ชื่อแอปพลิเคชัน: ชื่อของแอปพลิเคชันที่ขอความยินยอม ชื่อควรสื่อถึงแอปพลิเคชันของคุณอย่างถูกต้อง และสอดคล้องกับชื่อแอปพลิเคชันที่ผู้ใช้เห็นที่อื่น
โลโก้แอปพลิเคชัน: รูปภาพนี้จะแสดงบนหน้าจอขอความยินยอมเพื่อช่วยให้ผู้ใช้จดจำแอปของคุณได้ โลโก้จะแสดงในหน้าจอขอความยินยอม "ลงชื่อเข้าใช้ด้วย Google" และในการตั้งค่าบัญชี แต่จะไม่แสดงในกล่องโต้ตอบ One Tap
อีเมลสนับสนุน: แสดงในหน้าจอคำยินยอมสำหรับการสนับสนุนผู้ใช้และผู้ดูแลระบบ G Suite ประเมินการเข้าถึงแอปพลิเคชันของผู้ใช้ อีเมลนี้จะปรากฏต่อผู้ใช้ในหน้าจอขอความยินยอมของ "ลงชื่อเข้าใช้ด้วย Google" เมื่อผู้ใช้คลิกชื่อแอปพลิเคชัน
ขอบเขตสำหรับ Google APIs: ขอบเขตช่วยให้แอปพลิเคชันของคุณเข้าถึงข้อมูลส่วนตัวของผู้ใช้ได้ สำหรับการตรวจสอบสิทธิ์ ขอบเขตเริ่มต้น (อีเมล, โปรไฟล์, openid) ถือว่าเพียงพอแล้ว คุณไม่จำเป็นต้องเพิ่มขอบเขตที่ละเอียดอ่อนใดๆ โดยทั่วไปแล้ว แนวทางปฏิบัติแนะนำคือให้ขอขอบเขตเพิ่มขึ้นเรื่อยๆ ในเวลาที่จำเป็นต้องเข้าถึง แทนที่จะขอแบบแจ้งล่วงหน้า ดูข้อมูลเพิ่มเติม
โดเมนที่ได้รับอนุญาต: Google อนุญาตเฉพาะแอปพลิเคชันที่ตรวจสอบสิทธิ์โดยใช้ OAuth ให้ใช้ Authorized Domains เพื่อปกป้องคุณและผู้ใช้ ลิงก์ของแอปพลิเคชันต้องโฮสต์บนโดเมนที่ได้รับอนุญาต ดูข้อมูลเพิ่มเติม
ลิงก์หน้าแรกของแอปพลิเคชัน: แสดงใน "ลงชื่อเข้าใช้" พร้อมหน้าจอขอความยินยอมของ Google และข้อมูลข้อจำกัดความรับผิดที่เป็นไปตาม GDPR แบบแตะครั้งเดียวใต้ปุ่ม "ดำเนินการต่อในชื่อ" ต้องโฮสต์ในโดเมนที่ได้รับอนุญาต
ลิงก์นโยบายความเป็นส่วนตัวของแอปพลิเคชัน: แสดงบนหน้าจอขอความยินยอม "ลงชื่อเข้าใช้ด้วย Google" และข้อมูลข้อจำกัดความรับผิดที่เป็นไปตาม GDPR แบบแตะครั้งเดียวใต้ปุ่ม "ดำเนินการต่อในชื่อ" ต้องโฮสต์ในโดเมนที่ได้รับอนุญาต
ลิงก์ข้อกำหนดในการให้บริการของแอปพลิเคชัน (ไม่บังคับ): แสดงในการลงชื่อเข้าใช้พร้อมหน้าจอขอความยินยอมของ Google และข้อมูลข้อจำกัดความรับผิดที่เป็นไปตามข้อกำหนดของ GDPR แบบแตะครั้งเดียวใต้ปุ่ม "ดำเนินการต่อในชื่อ" ต้องโฮสต์ในโดเมนที่ได้รับอนุญาต
ตรวจสอบ "สถานะการยืนยัน" หากใบสมัครของคุณต้องได้รับการยืนยัน ให้คลิกที่ปุ่ม "ส่งเพื่อขอรับการยืนยัน" เพื่อส่งใบสมัครของคุณเพื่อรับการยืนยัน โปรดดูรายละเอียดที่ข้อกำหนดการยืนยัน OAuth
แสดงการตั้งค่า OAuth ระหว่างการลงชื่อเข้าใช้
One Tap
ชื่อแอปพลิเคชันจะแสดงระหว่างการขอความยินยอมจากผู้ใช้
แตะครั้งเดียวโดยใช้ FedCM
โดเมนที่ได้รับสิทธิ์ระดับบนสุดจะแสดงระหว่างที่ผู้ใช้ให้ความยินยอมใน Chrome
รูปที่ 1 การตั้งค่าความยินยอม OAuth ที่แสดงโดยการแตะครั้งเดียวใน Chrome
นโยบายรักษาความปลอดภัยเนื้อหา
แม้ว่าจะไม่บังคับ แต่ขอแนะนำให้ใช้นโยบายรักษาความปลอดภัยเนื้อหาเพื่อรักษาความปลอดภัยของแอปและป้องกันการโจมตีแบบ Cross-site Scripting (XSS) ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลเบื้องต้นเกี่ยวกับ CSP และ CSP และ XSS
นโยบายรักษาความปลอดภัยเนื้อหาอาจมีคำสั่งอย่างน้อย 1 รายการ เช่น connect-src
, frame-src
, script-src
หรือ style-src
หาก CSP ประกอบด้วยสิ่งต่อไปนี้
connect-src
เพิ่มhttps://accounts.google.com/gsi/
เพื่ออนุญาตให้หน้าเว็บโหลด URL ระดับบนสุดสำหรับปลายทางฝั่งเซิร์ฟเวอร์ของบริการ Google Identityframe-src
เพิ่มhttps://accounts.google.com/gsi/
เพื่ออนุญาต URL หลักของ iframe ของปุ่ม One Tap และลงชื่อเข้าใช้ด้วย Googlescript-src
ให้เพิ่มhttps://accounts.google.com/gsi/client
เพื่ออนุญาต URL ของไลบรารี JavaScript ของ Google Identity Services- คำสั่ง
style-src
ให้เพิ่มhttps://accounts.google.com/gsi/style
เพื่ออนุญาต URL ของสไตล์ชีต Google Identity Services
หลีกเลี่ยงการแสดง URL ของ GIS แต่ละรายการเมื่อใช้ connect-src
เพื่อช่วยลดความล้มเหลว
เมื่อมีการอัปเดต GIS ตัวอย่างเช่น แทนที่จะเพิ่ม https://accounts.google.com/gsi/status
ให้ใช้ URL ระดับบนสุดของ GIS https://accounts.google.com/gsi/
ตัวอย่างส่วนหัวการตอบกลับนี้ช่วยให้บริการข้อมูลประจำตัวของ Google โหลดและเรียกใช้ได้สําเร็จ
Content-Security-Policy-Report-Only: script-src
https://accounts.google.com/gsi/client; frame-src
https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;
นโยบายเครื่องมือเปิดแบบข้ามต้นทาง
ปุ่ม "ลงชื่อเข้าใช้ด้วย Google" และ Google One Tap อาจต้องมีการเปลี่ยนแปลงใน Cross-Origin-Opener-Policy
(COOP) เพื่อสร้างป๊อปอัปได้สำเร็จ
เมื่อเปิดใช้ FedCM เบราว์เซอร์จะแสดงป๊อปอัปโดยตรงและไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ
อย่างไรก็ตาม เมื่อ FedCM ถูกปิดใช้งาน ให้ตั้งค่าส่วนหัว COOP ดังนี้
- ถึง
same-origin
และ - มี
same-origin-allow-popups
การไม่ตั้งค่าส่วนหัวที่เหมาะสมจะทำให้การสื่อสารระหว่างหน้าต่างหยุดชะงัก ส่งผลให้หน้าต่างป๊อปอัปว่างเปล่าหรือข้อบกพร่องที่คล้ายกัน