ข้อมูลประจำตัวข้ามไคลเอ็นต์

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

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

เป้าหมายการให้สิทธิ์ข้ามไคลเอ็นต์

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

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

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

โทเค็นเพื่อการเข้าถึงข้ามไคลเอ็นต์

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

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

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