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