เมื่อนักพัฒนาซอฟต์แวร์สร้างซอฟต์แวร์ ก็มักมีโมดูลที่ทํางานบนเว็บเซิร์ฟเวอร์ โมดูลอื่นๆ ที่ทํางานในเบราว์เซอร์ และโมดูลอื่นๆ ที่ทํางานเป็นแอปที่มากับอุปกรณ์เคลื่อนที่ ทั้งนักพัฒนาซอฟต์แวร์และผู้ที่ใช้ซอฟต์แวร์มักจะมองว่าโมดูลเหล่านี้ทั้งหมดเป็นส่วนหนึ่งของแอปเดียว
การใช้งาน OAuth 2.0 ของ Google สนับสนุนมุมมองดังกล่าวของโลก หากต้องการใช้บริการที่อิงตาม OAuth2.0 คุณต้องตั้งค่าซอฟต์แวร์ใน Google API Consoleหน่วยขององค์กรใน API Console เป็น "project," ที่สอดคล้องกับแอปคอมโพเนนต์ได้หลายโปรเจ็กต์ คุณระบุข้อมูลการสร้างแบรนด์สําหรับแต่ละโปรเจ็กต์ได้และต้องระบุ 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 แล้ว ระบบจะไม่ขอสิทธิ์นั้นจากไคลเอ็นต์อื่นในโปรเจ็กต์เดียวกันอย่างเช่น เว็บแอปพลิเคชัน อีก