ปฏิบัติตามนโยบาย 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

สำหรับแอปเวอร์ชันที่ใช้งานจริง ข้อมูลแบรนด์ที่กำหนดไว้ในหน้าจอขอความยินยอม 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 การเปลี่ยนเส้นทาง HTTPS และต้นทาง JavaScript ไม่ใช่ HTTP ธรรมดา Google สามารถปฏิเสธคำขอ OAuth ที่ไม่ได้มาจากหรือแก้ไขเป็นบริบทที่ปลอดภัย

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


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

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