ดูข้อมูลเกี่ยวกับการตรวจสอบสิทธิ์และการให้สิทธิ์

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

หมายเหตุ: ภาพรวมนี้เน้นการตรวจสอบสิทธิ์และการให้สิทธิ์สําหรับ Google Workspace API ข้อมูลบางอย่างในเอกสารนี้อาจไม่เกี่ยวข้องกับ Google API อื่นๆ

ภาพรวมของกระบวนการ

แผนภาพต่อไปนี้แสดงขั้นตอนการตรวจสอบสิทธิ์และการให้สิทธิ์ Google Workspace API ในระดับสูง

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

  2. ตรวจสอบสิทธิ์ของแอปสําหรับการเข้าถึง: เมื่อแอปทํางาน ระบบจะประเมินข้อมูลเข้าสู่ระบบสําหรับการเข้าถึงที่ลงทะเบียนไว้ หากแอปตรวจสอบสิทธิ์แบบผู้ใช้ปลายทาง ระบบอาจแสดงข้อความแจ้งให้ลงชื่อเข้าใช้

  3. ขอทรัพยากร: เมื่อแอปจําเป็นต้องเข้าถึงทรัพยากรของ Google แอปจะถาม Google โดยใช้ขอบเขตการเข้าถึงที่เกี่ยวข้องที่ลงทะเบียนไว้ก่อนหน้านี้

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

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

  6. Google แสดงผลโทเค็นเพื่อการเข้าถึง: โทเค็นเพื่อการเข้าถึงมีรายการขอบเขตการเข้าถึงที่ได้รับ หากรายการขอบเขตที่แสดงผลมีจํานวนมากกว่าขอบเขตการเข้าถึงที่ขอ แอปจะปิดใช้ฟีเจอร์ที่จํากัดด้วยโทเค็น

  7. เข้าถึงทรัพยากรที่ขอ: แอปของคุณใช้โทเค็นเพื่อการเข้าถึงจาก Google เพื่อเรียกใช้ API ที่เกี่ยวข้องและเข้าถึงทรัพยากร

  8. รับโทเค็นการรีเฟรช (ไม่บังคับ): หากแอปต้องการเข้าถึง Google API นอกเหนือจากอายุการใช้งานของโทเค็นเพื่อการเข้าถึงรายการเดียว โทเค็นดังกล่าวอาจได้รับโทเค็นการรีเฟรช

  9. ขอทรัพยากรเพิ่มเติม: หากต้องมีการเข้าถึงเพิ่มเติม แอปจะขอให้ผู้ใช้ให้สิทธิ์ขอบเขตใหม่ ทําให้มีการขอโทเค็นเพื่อการเข้าถึงใหม่ (ขั้นตอนที่ 3-6)

คําศัพท์ที่สําคัญ

ต่อไปนี้เป็นรายการคําศัพท์ที่เกี่ยวข้องกับการตรวจสอบสิทธิ์และการให้สิทธิ์

การตรวจสอบสิทธิ์

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

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

สิทธิ์หรือ "author" ครูใหญ่ต้องเข้าถึงข้อมูลหรือดําเนินการต่างๆ การดําเนินการให้สิทธิ์จะดําเนินการผ่านโค้ดที่คุณเขียนในแอป รหัสนี้จะแจ้งให้ผู้ใช้ทราบว่าแอปต้องการดําเนินการในนามของผู้ใช้ และอนุญาตให้ใช้ข้อมูลรับรองที่ไม่ซ้ํากันของแอปเพื่อรับโทเค็นเพื่อการเข้าถึงจาก 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 Console ระบบจะขอให้คุณเลือกประเภทแอปพลิเคชัน ประเภทแอปพลิเคชัน ได้แก่ เว็บแอปพลิเคชัน (JavaScript), Android, แอป Chrome, iOS, ทีวีและอุปกรณ์อินพุตที่จํากัด, แอปบนเดสก์ท็อป (หรือที่เรียกว่า "แอปที่ติดตั้ง") และแพลตฟอร์ม Universal Windows (UWP)

บัญชีบริการ

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

การมอบสิทธิ์ทั่วทั้งโดเมน

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

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

กําหนดค่าหน้าจอขอความยินยอม OAuth ของแอป เพื่อให้ผู้ใช้เข้าใจและเลือกว่าจะให้แอปของคุณเข้าถึงข้อมูลใดได้บ้าง