Saat developer mem-build software, secara rutin menyertakan modul yang berjalan di server web, modul lain yang berjalan di browser, dan modul lainnya yang dijalankan sebagai aplikasi seluler native. Baik developer maupun orang yang menggunakan software mereka biasanya menganggap semua modul ini sebagai bagian dari satu aplikasi.
Implementasi OAuth 2.0 Google mendukung pandangan umum tentang dunia ini. Untuk menggunakan salah satu layanan berbasis OAuth2.0, Anda harus menyiapkan software di Google API Console. Unit organisasi di API Console adalah "project," yang dapat sesuai dengan aplikasi multikomponen. Untuk setiap project, Anda dapat memberikan informasi branding, dan Anda harus menentukan API mana yang akan diakses oleh aplikasi. Setiap komponen aplikasi multikomponen diidentifikasi oleh client ID, yaitu string unik yang dihasilkan dalam API Console.
Sasaran otorisasi lintas klien
Saat aplikasi menggunakan OAuth 2.0 untuk otorisasi, aplikasi bertindak atas nama pengguna untuk meminta token akses OAuth 2.0 untuk akses ke resource, yang diidentifikasi aplikasi oleh satu atau beberapa string cakupan. Biasanya, pengguna akan diminta untuk menyetujui akses.
Saat pengguna memberikan akses ke aplikasi Anda untuk cakupan tertentu, pengguna akan melihat layar izin pengguna, yang mencakup branding produk level project yang Anda siapkan di Google API Console. Oleh karena itu, Google mempertimbangkan bahwa saat pengguna memberikan akses ke cakupan tertentu ke client ID mana pun dalam suatu project, pemberian tersebut menunjukkan kepercayaan pengguna terhadap keseluruhan aplikasi untuk cakupan tersebut.
Akibatnya, pengguna tidak akan diminta untuk menyetujui akses ke resource apa pun lebih dari sekali untuk aplikasi logis yang sama, setiap kali komponen aplikasi dapat diautentikasi secara andal oleh infrastruktur otorisasi Google, yang saat ini mencakup aplikasi web, aplikasi Android, aplikasi Chrome, aplikasi iOS, aplikasi desktop native, dan perangkat input terbatas.
Token akses lintas klien
Software dapat memperoleh token Akses OAuth 2.0 dengan berbagai cara, bergantung pada platform tempat kode tersebut berjalan. Untuk mengetahui detailnya, lihat Menggunakan OAuth 2.0 untuk Mengakses Google API. Biasanya, persetujuan pengguna diperlukan saat memberikan token akses.
Untungnya, infrastruktur otorisasi Google dapat menggunakan informasi tentang persetujuan pengguna untuk client ID dalam project tertentu saat mengevaluasi apakah akan memberi otorisasi kepada orang lain dalam project yang sama.
Hasilnya adalah jika aplikasi Android meminta token akses untuk cakupan tertentu, dan pengguna yang meminta telah memberikan persetujuan ke aplikasi web dalam project yang sama untuk cakupan yang sama, pengguna tidak akan diminta lagi untuk menyetujui. Cara ini memiliki dua cara: jika akses ke cakupan telah diberikan di aplikasi Android Anda, cakupan tersebut tidak akan diminta lagi dari klien lain dalam project yang sama seperti aplikasi web.