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

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

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

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

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

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

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

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

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

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

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