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

กำหนดค่าโปรเจ็กต์และแอป Google Cloud: ในระหว่างการพัฒนา คุณจะลงทะเบียนแอปใน Google Cloud Console โดยกำหนดขอบเขตการให้สิทธิ์และข้อมูลเข้าสู่ระบบการเข้าถึงเพื่อตรวจสอบสิทธิ์แอปด้วยคีย์ API, ข้อมูลเข้าสู่ระบบของผู้ใช้ปลายทาง หรือข้อมูลเข้าสู่ระบบบัญชีบริการ
ตรวจสอบสิทธิ์แอปเพื่อเข้าถึง: เมื่อแอปทำงาน ระบบจะประเมินข้อมูลเข้าสู่ระบบการเข้าถึงที่ลงทะเบียน หากแอปของคุณกำลังตรวจสอบสิทธิ์ในฐานะผู้ใช้ปลายทาง ระบบอาจแสดงข้อความแจ้งให้ลงชื่อเข้าใช้
ขอทรัพยากร: เมื่อแอปของคุณต้องการเข้าถึงทรัพยากรของ Google แอปจะขอจาก Google โดยใช้ขอบเขตการเข้าถึงที่เกี่ยวข้องซึ่งคุณลงทะเบียนไว้ก่อนหน้านี้
ขอความยินยอมจากผู้ใช้: หากแอปของคุณกำลังตรวจสอบสิทธิ์ในฐานะผู้ใช้ปลายทาง Google จะแสดงหน้าจอคำยินยอม OAuth เพื่อให้ผู้ใช้ตัดสินใจได้ว่าจะให้สิทธิ์แอปของคุณเข้าถึงข้อมูลที่ขอหรือไม่
ส่งคำขอที่ได้รับอนุมัติสำหรับทรัพยากร: หากผู้ใช้ยินยอมให้เข้าถึงขอบเขต แอปของคุณจะรวมข้อมูลเข้าสู่ระบบและขอบเขตการเข้าถึงที่ผู้ใช้อนุมัติ ไว้ในคำขอ ระบบจะส่งคำขอไปยังเซิร์ฟเวอร์การให้สิทธิ์ของ Google เพื่อรับโทเค็นเพื่อการเข้าถึง
Google จะแสดงโทเค็นเพื่อการเข้าถึง: โทเค็นเพื่อการเข้าถึงมีรายการ ขอบเขตการเข้าถึงที่ได้รับอนุญาต หากรายการขอบเขตที่ส่งคืนมีการจำกัดมากกว่า ขอบเขตการเข้าถึงที่ขอ แอปจะปิดใช้ฟีเจอร์ใดก็ตามที่ถูกจำกัดโดยโทเค็น
เข้าถึงทรัพยากรที่ขอ: แอปของคุณใช้โทเค็นเพื่อการเข้าถึงจาก Google เพื่อ เรียกใช้ API ที่เกี่ยวข้องและเข้าถึงทรัพยากร
รับโทเค็นการรีเฟรช (ไม่บังคับ): หากแอปของคุณต้องเข้าถึง Google API นอกเหนือจากอายุการใช้งานของโทเค็นเพื่อการเข้าถึงรายการเดียว ก็สามารถรับโทเค็นการรีเฟรชได้
ขอทรัพยากรเพิ่มเติม: หากจำเป็นต้องเข้าถึงเพิ่มเติม แอปจะขอให้ ผู้ใช้ให้สิทธิ์เข้าถึงขอบเขตใหม่ ซึ่งส่งผลให้มีการขอใหม่เพื่อรับ โทเค็นเพื่อการเข้าถึง (ขั้นตอนที่ 3-6)
คำศัพท์สำคัญ
รายการคำศัพท์ที่เกี่ยวข้องกับการตรวจสอบสิทธิ์และการให้สิทธิ์มีดังนี้
- การตรวจสอบสิทธิ์
การดำเนินการเพื่อให้มั่นใจว่าผู้ใช้ ซึ่งอาจเป็นผู้ใช้หรือแอปที่ดำเนินการ ในนามของผู้ใช้ เป็นบุคคลที่กล่าวอ้าง เมื่อเขียนแอป Google Workspace คุณควรทราบเกี่ยวกับการตรวจสอบสิทธิ์ประเภทต่อไปนี้
- การตรวจสอบสิทธิ์ของผู้ใช้
- การที่ผู้ใช้ตรวจสอบสิทธิ์ (ลงชื่อเข้าใช้) ในแอปของคุณ โดยปกติแล้วการตรวจสอบสิทธิ์ผู้ใช้จะดำเนินการผ่านกระบวนการลงชื่อเข้าใช้ ซึ่งผู้ใช้จะใช้ชุดค่าผสมของชื่อผู้ใช้และรหัสผ่านเพื่อยืนยันตัวตนกับแอป คุณสามารถรวมการตรวจสอบสิทธิ์ผู้ใช้ไว้ในแอปได้โดยใช้ลงชื่อเข้าใช้ด้วย Google
- การตรวจสอบสิทธิ์แอป
- การที่แอปตรวจสอบสิทธิ์กับบริการของ Google โดยตรงในนามของผู้ใช้ที่เรียกใช้แอป โดยปกติแล้วการตรวจสอบสิทธิ์ของแอปจะดำเนินการโดยใช้ข้อมูลเข้าสู่ระบบที่สร้างไว้ล่วงหน้าในโค้ดของแอป
- การให้สิทธิ์
สิทธิ์หรือ "อำนาจ" ที่ผู้ใช้หลักมีในการเข้าถึงข้อมูลหรือดำเนินการ การให้สิทธิ์ดำเนินการผ่านโค้ดที่คุณเขียนใน แอปของคุณ โค้ดนี้จะแจ้งให้ผู้ใช้ทราบว่าแอปต้องการดำเนินการในนามของผู้ใช้ และหากได้รับอนุญาต โค้ดจะใช้ข้อมูลเข้าสู่ระบบที่ไม่ซ้ำกันของแอปเพื่อรับโทเค็นเพื่อการเข้าถึง จาก Google ซึ่งใช้เพื่อเข้าถึงข้อมูลหรือดำเนินการ
- ข้อมูลเข้าสู่ระบบ
รูปแบบการระบุตัวตนที่ใช้ในการรักษาความปลอดภัยของซอฟต์แวร์ ในแง่ของ การตรวจสอบสิทธิ์ ข้อมูลเข้าสู่ระบบมักจะเป็นชุดชื่อผู้ใช้และรหัสผ่าน ใน แง่ของการให้สิทธิ์สำหรับ Google Workspace API โดยปกติแล้วข้อมูลเข้าสู่ระบบจะเป็น รูปแบบการระบุตัวตน เช่น สตริงลับที่ไม่ซ้ำกัน ซึ่งมีเพียงนักพัฒนาแอปและเซิร์ฟเวอร์การตรวจสอบสิทธิ์เท่านั้นที่ทราบ Google รองรับข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ต่อไปนี้ คีย์ API, รหัสไคลเอ็นต์ OAuth 2.0 และบัญชีบริการ
- คีย์ API
- ข้อมูลเข้าสู่ระบบที่ใช้เพื่อขอสิทธิ์เข้าถึงข้อมูลสาธารณะ เช่น ข้อมูลที่ระบุโดยใช้ Maps API หรือไฟล์ Google Workspace ที่แชร์โดยใช้การตั้งค่า "ทุกคนบนอินเทอร์เน็ตที่มีลิงก์นี้" ภายในการตั้งค่าการแชร์ของ Google Workspace
- รหัสไคลเอ็นต์ OAuth 2
- ข้อมูลเข้าสู่ระบบที่ใช้เพื่อขอสิทธิ์เข้าถึงข้อมูลที่ผู้ใช้เป็นเจ้าของ นี่คือ ข้อมูลเข้าสู่ระบบหลักที่ใช้เมื่อขอสิทธิ์เข้าถึงข้อมูลโดยใช้ Google Workspace API ข้อมูลเข้าสู่ระบบนี้ต้องได้รับความยินยอมจากผู้ใช้
- รหัสลับไคลเอ็นต์
- สตริงอักขระที่แอปพลิเคชันและเซิร์ฟเวอร์การให้สิทธิ์เท่านั้นที่ควรทราบ Client Secret จะปกป้องข้อมูลของผู้ใช้โดยการให้โทเค็นแก่ผู้ขอที่ได้รับอนุญาตเท่านั้น คุณไม่ควรใส่รหัสลับไคลเอ็นต์ที่ไม่ได้เข้ารหัสในแอป เราขอแนะนำให้จัดเก็บรหัสลับไคลเอ็นต์อย่างปลอดภัย ดูข้อมูลเพิ่มเติมได้ที่ จัดการข้อมูลเข้าสู่ระบบของไคลเอ็นต์อย่างปลอดภัย
- คีย์ของบัญชีบริการ
- ใช้โดยบัญชีบริการเพื่อรับการให้สิทธิ์เข้าถึงบริการของ Google
- บัญชีบริการ
- ข้อมูลเข้าสู่ระบบที่ใช้สำหรับการโต้ตอบระหว่างเซิร์ฟเวอร์ เช่น แอปที่ไม่มีส่วนติดต่อผู้ใช้ ซึ่งทำงานเป็นกระบวนการเพื่อเข้าถึงข้อมูลบางอย่างหรือดำเนินการบางอย่าง โดยปกติแล้วจะใช้บัญชีบริการเพื่อเข้าถึงข้อมูลและการดำเนินการบนระบบคลาวด์ อย่างไรก็ตาม เมื่อใช้ร่วมกับการมอบสิทธิ์ทั่วทั้งโดเมน จะใช้เพื่อเข้าถึงข้อมูลผู้ใช้ได้
- ขอบเขต
สตริง URI ของ OAuth 2.0 ที่กำหนดระดับการเข้าถึงทรัพยากรหรือการดำเนินการ ที่มอบให้แอป สำหรับ Google Workspace นั้น URI ของขอบเขตการให้สิทธิ์จะมี ชื่อแอป Google Workspace, ประเภทข้อมูลที่เข้าถึง และระดับ การเข้าถึง ผู้ใช้แอปของคุณสามารถตรวจสอบขอบเขตที่ขอและเลือกสิทธิ์เข้าถึงที่ต้องการให้ จากนั้นเซิร์ฟเวอร์การตรวจสอบสิทธิ์ของ Google จะส่งขอบเขตที่ได้รับอนุญาตไปยังแอปของคุณในโทเค็นเพื่อการเข้าถึง โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อ วิธีเลือกขอบเขตสำหรับแอป
- เซิร์ฟเวอร์การให้สิทธิ์
เซิร์ฟเวอร์ของ Google สำหรับการให้สิทธิ์เข้าถึงโดยใช้โทเค็นการเข้าถึงไปยังข้อมูลและการดำเนินการที่แอป ขอ
- รหัสการให้สิทธิ์
รหัสที่ส่งจากเซิร์ฟเวอร์การให้สิทธิ์ซึ่งใช้เพื่อรับโทเค็น การเข้าถึง คุณจะต้องใช้รหัสเมื่อประเภทแอปพลิเคชันเป็นแอปเว็บเซิร์ฟเวอร์หรือ แอปที่ติดตั้งเท่านั้น
- โทเค็นเพื่อการเข้าถึง
โทเค็นที่ให้สิทธิ์เข้าถึง Google Workspace API โทเค็นเพื่อการเข้าถึงรายการเดียวสามารถ ให้สิทธิ์เข้าถึง API หลายรายการในระดับต่างๆ ซึ่งเรียกว่าขอบเขต คำขอรหัสการให้สิทธิ์ของแอปจะขอโทเค็นเพื่อเข้าถึงและใช้โทเค็นดังกล่าวเพื่อเรียกใช้ Google Workspace API
- เซิร์ฟเวอร์ทรัพยากร
เซิร์ฟเวอร์ที่โฮสต์ API ที่แอปต้องการเรียก
- เฟรมเวิร์ก OAuth 2.0
มาตรฐานที่แอปของคุณใช้เพื่อให้ "สิทธิ์เข้าถึงที่ได้รับมอบหมายอย่างปลอดภัย" หรือสิทธิ์เข้าถึงข้อมูลและการดำเนินการในนามของผู้ใช้แอป กลไกการตรวจสอบสิทธิ์ และการให้สิทธิ์ที่คุณใช้ในแอปแสดงถึงการติดตั้งใช้งานเฟรมเวิร์ก OAuth 2.0
- Principal
เอนทิตีหรือที่เรียกว่าข้อมูลประจำตัวที่สามารถให้สิทธิ์เข้าถึง ทรัพยากรได้ API ของ Google Workspace รองรับหลักการ 2 ประเภท ได้แก่ บัญชีผู้ใช้และบัญชีบริการ ดูรายละเอียดเพิ่มเติมได้ที่ ผู้ใช้หลัก
- ประเภทข้อมูล
ในบริบทของการตรวจสอบสิทธิ์และการให้สิทธิ์ ประเภทข้อมูลหมายถึงเอนทิตีที่เป็นเจ้าของข้อมูลที่แอปของคุณพยายามเข้าถึง โดยมี ประเภทข้อมูล 3 ประเภทดังนี้
- ข้อมูลสาธารณสมบัติ
- ข้อมูลที่ทุกคนเข้าถึงได้ เช่น ข้อมูลบางอย่างใน Google Maps โดยปกติแล้วจะเข้าถึงข้อมูลนี้ได้โดยใช้คีย์ API
- ข้อมูลผู้ใช้ปลายทาง
- ข้อมูลที่เป็นของผู้ใช้ปลายทางหรือกลุ่มที่เฉพาะเจาะจง เช่น ไฟล์ใน Google ไดรฟ์ของผู้ใช้รายหนึ่ง โดยปกติแล้ว ระบบจะเข้าถึงข้อมูลประเภทนี้โดยใช้รหัสไคลเอ็นต์ OAuth 2 หรือบัญชีบริการ
- ข้อมูลในระบบคลาวด์
- ข้อมูลที่เป็นของโปรเจ็กต์ Google Cloud โดยปกติแล้ว ข้อมูลประเภทนี้จะเข้าถึงได้โดยบัญชีบริการ
- ความยินยอมของผู้ใช้
ขั้นตอนการให้สิทธิ์ที่กำหนดให้ผู้ใช้แอปของคุณให้สิทธิ์แอป ในการเข้าถึงข้อมูลและดำเนินการในนามของผู้ใช้
- ประเภทแอปพลิเคชัน
ประเภทแอปที่คุณจะสร้าง เมื่อสร้างข้อมูลเข้าสู่ระบบโดยใช้คอนโซล Google Cloud ระบบจะขอให้คุณเลือกประเภทแอปพลิเคชัน ประเภทแอปพลิเคชัน ได้แก่ เว็บแอปพลิเคชัน (JavaScript), Android, แอป Chrome, iOS, ทีวีและอุปกรณ์ที่มีการป้อนข้อมูลแบบจำกัด, แอปเดสก์ท็อป (หรือที่เรียกว่า "แอปที่ติดตั้ง") และ Universal Windows Platform (UWP)
- บัญชีบริการ
บัญชี Google ประเภทพิเศษที่สร้างขึ้นเพื่อเป็นตัวแทนของผู้ใช้ที่ไม่ใช่มนุษย์ซึ่งต้องมีการตรวจสอบสิทธิ์และได้รับอนุญาตให้เข้าถึงข้อมูล แอปพลิเคชันของคุณจะใช้ข้อมูลประจำตัวของบัญชีบริการเพื่อเรียกใช้ Google APIs เพื่อให้ผู้ใช้ไม่ต้องมีส่วนเกี่ยวข้องโดยตรง บัญชีบริการไม่สามารถใช้เพื่อเข้าถึงข้อมูลผู้ใช้ได้ด้วยตัวเอง ซึ่งโดยปกติแล้วจะเข้าถึงข้อมูลโดยใช้ Workspace API อย่างไรก็ตาม บัญชีบริการสามารถเข้าถึงข้อมูลผู้ใช้ได้โดยการใช้การมอบสิทธิ์ทั่วทั้งโดเมน ของสิทธิ์ โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อทำความเข้าใจบัญชีบริการ
- การมอบสิทธิ์ทั่วทั้งโดเมน
ฟีเจอร์การดูแลระบบที่สามารถให้สิทธิ์แอปพลิเคชันเข้าถึงข้อมูลผู้ใช้ในนามของผู้ใช้ในองค์กร Google Workspace การมอบสิทธิ์ระดับโดเมนสามารถใช้เพื่อทำงานที่เกี่ยวข้องกับผู้ดูแลระบบในข้อมูลผู้ใช้ได้ หากต้องการมอบสิทธิ์ ในลักษณะนี้ ผู้ดูแลระบบ Google Workspace จะใช้บัญชีบริการที่มี OAuth 2.0 เนื่องจากฟีเจอร์นี้มีประสิทธิภาพสูง จึงมีเพียงผู้ดูแลระบบขั้นสูงเท่านั้นที่เปิดใช้ การมอบสิทธิ์ทั่วทั้งโดเมนได้ โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อ การมอบสิทธิ์ทั่วทั้งโดเมนให้กับบัญชีบริการ
ขั้นตอนถัดไป
กำหนดค่าหน้าจอขอความยินยอม OAuth ของแอป เพื่อให้ผู้ใช้เข้าใจและอนุมัติสิทธิ์เข้าถึงที่แอปของคุณมีต่อข้อมูล ของผู้ใช้