Identitas Lintas Klien

Saat developer mem-build software, software secara rutin mencakup modul yang berjalan di server web, modul lain yang berjalan di browser, dan modul lainnya yang berjalan sebagai aplikasi seluler native. Developer dan orang-orang yang menggunakan software mereka biasanya menganggap semua modul ini sebagai bagian dari satu aplikasi.

Implementasi OAuth 2.0 Google mendukung pandangan dunia ini. Untuk menggunakan salah satu layanan berbasis OAuth2.0, Anda harus menyiapkan software di Google API Console. Unit organisasi dalam API Console adalah "project", yang dapat berkaitan dengan aplikasi multi-komponen. Untuk setiap project, Anda dapat memberikan informasi branding, dan harus menentukan API mana yang akan diakses oleh aplikasi. Setiap komponen aplikasi multi-komponen 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 akan bertindak atas nama pengguna untuk meminta token akses OAuth 2.0 agar dapat mengakses 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 menyertakan branding produk level project yang Anda siapkan di Google API Console. Oleh karena itu, Google menganggap bahwa saat pengguna telah memberikan akses ke cakupan tertentu ke client ID apa pun dalam suatu project, pemberian tersebut menunjukkan kepercayaan pengguna pada seluruh aplikasi untuk cakupan tersebut.

Dengan demikian, pengguna tidak akan diminta untuk menyetujui akses ke resource apa pun lebih dari sekali untuk aplikasi logis yang sama, kapan pun komponen aplikasi dapat diautentikasi dengan 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 dalam berbagai cara, bergantung pada platform tempat kode dijalankan. 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 memberikan otorisasi kepada orang lain dalam project yang sama atau tidak.

Akibatnya, 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 menyetujuinya. Cara ini dapat dilakukan dengan dua cara: jika akses ke cakupan telah diberikan di aplikasi Android Anda, akses tersebut tidak akan diminta lagi dari klien lain dalam project yang sama seperti aplikasi web.