ปฏิบัติตามนโยบาย OAuth 2.0

คู่มือนี้จะสรุปวิธีปฏิบัติตามข้อกำหนดเพื่อแก้ไขปัญหาที่นักพัฒนาแอปพบบ่อยที่สุดเมื่อเตรียมแอปสำหรับเวอร์ชันที่ใช้งานจริง

ภาพรวม

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


ใช้โปรเจ็กต์แยกกันสำหรับการทดสอบและเวอร์ชันที่ใช้งานจริง

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

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

  1. ไปที่คอนโซล Google API คลิกสร้างโปรเจ็กต์ ป้อนชื่อ แล้วคลิกสร้าง
  2. ตรวจสอบไคลเอ็นต์ OAuth ในโปรเจ็กต์นี้ที่อาจเชื่อมโยงกับระดับการทดสอบ หากมี ให้สร้างไคลเอ็นต์ OAuth ที่คล้ายกันสำหรับไคลเอ็นต์เวอร์ชันที่ใช้งานจริงภายในโปรเจ็กต์เวอร์ชันที่ใช้งานจริง
  3. เปิดใช้ API ที่ไคลเอ็นต์ใช้
  4. ตรวจสอบการกำหนดค่าหน้าจอคำยินยอม OAuth สำหรับโปรเจ็กต์ใหม่ในหน้า การสร้างแบรนด์ ของ Cloud Console

ไคลเอ็นต์ Google OAuth ที่ใช้ในเวอร์ชันที่ใช้งานจริงต้องไม่มีสภาพแวดล้อมการทดสอบ, URI การเปลี่ยนเส้นทาง หรือต้นทางของ JavaScript ที่มีให้เฉพาะคุณหรือทีมพัฒนา ตัวอย่างเช่น

  • เซิร์ฟเวอร์ทดสอบของนักพัฒนาแอปแต่ละราย
  • แอปเวอร์ชันทดสอบหรือเวอร์ชันก่อนเผยแพร่

เก็บรายชื่อติดต่อที่เกี่ยวข้องของโปรเจ็กต์ไว้

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

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

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


แสดงตัวตนของคุณอย่างถูกต้อง

ระบุชื่อแอปที่ถูกต้องและโลโก้ (ไม่บังคับ) เพื่อแสดงให้ผู้ใช้เห็น ข้อมูลแบรนด์นี้ต้องแสดงตัวตนของแอปพลิเคชันอย่างถูกต้อง คุณกำหนดค่าข้อมูลการสร้างแบรนด์ของแอปได้จากหน้าการสร้างแบรนด์ OAuth Branding page

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

Google สามารถเพิกถอนหรือระงับสิทธิ์เข้าถึงบริการ Google API รวมถึงผลิตภัณฑ์และบริการอื่นๆ ของ Google สำหรับแอปที่แสดงตัวตนอย่างไม่ถูกต้องหรือพยายามหลอกลวงผู้ใช้


ขอเฉพาะขอบเขตที่จำเป็น

ในระหว่างการพัฒนาแอปพลิเคชัน คุณอาจใช้ขอบเขตตัวอย่างที่ API ให้ไว้เพื่อสร้างการพิสูจน์แนวคิดภายในแอปพลิเคชันเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์และฟังก์ชันการทำงานของ API ขอบเขตตัวอย่างเหล่านี้มักจะขอข้อมูลมากกว่าที่การติดตั้งใช้งานแอปขั้นสุดท้ายต้องการ เนื่องจากครอบคลุมการดำเนินการที่เป็นไปได้ทั้งหมดสำหรับ API หนึ่งๆ ตัวอย่างเช่น ขอบเขตตัวอย่างอาจขอสิทธิ์อ่าน เขียน และลบ ในขณะที่แอปพลิเคชันของคุณต้องการเพียงสิทธิ์อ่าน ขอสิทธิ์ที่เกี่ยวข้อง ซึ่งจำกัดไว้เฉพาะข้อมูลสำคัญที่จำเป็นต่อการติดตั้งใช้งานแอปพลิเคชัน

อ่านเอกสารอ้างอิงสำหรับปลายทาง API ที่แอปเรียกใช้และจดบันทึกขอบเขตที่ปลายทางเหล่านั้นต้องใช้เพื่อเข้าถึงข้อมูลที่เกี่ยวข้องซึ่งแอปต้องการ อ่านคำแนะนำการให้สิทธิ์ที่ API มีให้และอธิบายขอบเขตโดยละเอียดมากขึ้นเพื่อรวมการใช้งานที่พบบ่อยที่สุด เลือกการเข้าถึงข้อมูลที่น้อยที่สุดที่แอปพลิเคชันต้องใช้เพื่อขับเคลื่อนฟีเจอร์ที่เกี่ยวข้อง

ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดนี้ได้ในส่วนขอเฉพาะขอบเขตที่จำเป็นของนโยบาย OAuth 2.0 รวมถึงส่วนขอสิทธิ์ที่เกี่ยวข้องของนโยบายข้อมูลผู้ใช้ของบริการ Google API


ส่งแอปเวอร์ชันที่ใช้งานจริงซึ่งใช้ขอบเขตที่ไม่ละเอียดอ่อนหรือขอบเขตที่ไม่จำกัดเพื่อขอรับการยืนยัน

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

เราขอแนะนำเป็นอย่างยิ่งให้แอปของคุณปฏิบัติตามหลักเกณฑ์การสร้างแบรนด์อย่างเป็นทางการสำหรับการวางปุ่มลงชื่อเข้าใช้


ใช้เฉพาะโดเมนที่คุณเป็นเจ้าของ

กระบวนการยืนยันหน้าจอขอความยินยอม OAuth ของ Google กำหนดให้ยืนยันโดเมนทั้งหมดที่เชื่อมโยงกับหน้าแรก นโยบายความเป็นส่วนตัว ข้อกำหนดในการให้บริการ URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต หรือต้นทางของ JavaScript ที่ได้รับอนุญาตของโปรเจ็กต์ ตรวจสอบรายการโดเมนที่แอปใช้ ซึ่งสรุปไว้ในส่วนโดเมนที่ได้รับอนุญาต ของเครื่องมือแก้ไขหน้าจอขอความยินยอม OAuth และระบุโดเมนที่คุณไม่ได้เป็นเจ้าของและจึงไม่สามารถยืนยันได้ หากต้องการยืนยันการเป็นเจ้าของโดเมนที่ได้รับอนุญาตของโปรเจ็กต์ ให้ใช้Google Search Console ใช้บัญชี Google ที่เชื่อมโยงกับโปรเจ็กต์คอนโซล API ในฐานะเจ้าของหรือผู้แก้ไข

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


โฮสต์หน้าแรกสำหรับแอปเวอร์ชันที่ใช้งานจริง

แอปเวอร์ชันที่ใช้งานจริงทุกแอปที่ใช้ OAuth 2.0 ต้องมีหน้าแรกที่เข้าถึงได้แบบสาธารณะ ผู้ใช้ที่มีศักยภาพของแอปอาจไปที่หน้าแรกเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์และฟังก์ชันการทำงานที่แอปมีให้ ผู้ใช้เดิมอาจตรวจสอบรายการสิทธิ์ที่มีอยู่และไปที่หน้าแรกของแอปเพื่อเตือนให้ใช้บริการของคุณต่อไป

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


ใช้ URI การเปลี่ยนเส้นทางและต้นทางของ JavaScript ที่ปลอดภัย

ไคลเอ็นต์ OAuth 2.0 สำหรับเว็บแอป ต้องรักษาความปลอดภัยของข้อมูลโดยใช้ URI การเปลี่ยนเส้นทางและต้นทางของ JavaScript แบบ HTTPS ไม่ใช่ HTTP ธรรมดา Google สามารถปฏิเสธคำขอ OAuth ที่ไม่ได้มาจากหรือไม่ได้เปลี่ยนเส้นทางไปยังบริบทที่ปลอดภัย

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


ขั้นตอนถัดไป

หลังจากตรวจสอบว่าแอปของคุณเป็นไปตามนโยบาย OAuth 2.0 ในหน้านี้แล้ว โปรดดูรายละเอียดเกี่ยวกับกระบวนการยืนยันได้ที่ส่งเพื่อขอรับการยืนยันแบรนด์