ข้อมูลระบุตัวตนข้ามไคลเอ็นต์

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

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

เป้าหมายการให้สิทธิ์ข้ามลูกค้า

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

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

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

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

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

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

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