Geliştiriciler yazılım oluştururken genellikle bir web sunucusunda çalışan modüller, tarayıcıda çalışan diğer modüller ve Android veya iOS mobil uygulamaları olarak çalışan diğer modüller yer alır. Hem geliştiriciler hem de yazılımlarını kullanan kişiler genellikle bu modüllerin tümünü tek bir uygulamanın parçası olarak düşünür.
Google'ın OAuth 2.0 uygulaması, bu dünya görüşünü destekler. OAuth 2.0 tabanlı hizmetlerden herhangi birini kullanmak için yazılımınızı Google API Console'te ayarlamanız gerekir. API Console 'daki kuruluş birimi, çok bileşenli bir uygulamaya karşılık gelebilen bir "proje"dir. Her proje için markalama bilgileri sağlayabilir ve uygulamanın hangi API'lere erişeceğini belirtmeniz gerekir. Çok bileşenli bir uygulamanın her bileşeni, API Consoleiçinde oluşturulan benzersiz bir dize olan istemci kimliği ile tanımlanır.
Müşteriler arası yetkilendirme hedefleri
Bir uygulama yetkilendirme için OAuth 2.0 kullandığında, bir kaynağa erişmek üzere OAuth 2.0 erişim jetonu istemek için kullanıcı adına hareket eder. Uygulama, kaynağı bir veya daha fazla kapsam dizesiyle tanımlar. Normalde, kullanıcının erişimi onaylaması istenir.
Bir kullanıcı, uygulamanıza belirli bir kapsam için erişim izni verdiğinde kullanıcı izni ekranını görür. Bu ekranda, Google API Consoleiçinde ayarladığınız proje düzeyinde ürün markalama yer alır. Bu nedenle Google, bir kullanıcı bir projedeki herhangi bir istemci kimliğine belirli bir kapsam için erişim izni verdiğinde bu iznin, kullanıcının söz konusu kapsam için uygulamanın tamamına güvendiğini gösterdiğini kabul eder.
Bu durumda, uygulamanın bileşenleri Google'ın yetkilendirme altyapısı tarafından güvenilir bir şekilde kimliği doğrulandığında (bu altyapı günümüzde web uygulamalarını, Android uygulamalarını, Chrome uygulamalarını, iOS uygulamalarını, masaüstü uygulamalarını ve sınırlı giriş cihazlarını içerir) kullanıcıdan aynı mantıksal uygulama için herhangi bir kaynağa erişimi onaylaması birden fazla kez istenmez.
Müşteriler arası erişim jetonları
Yazılımlar, kodun çalıştığı platforma bağlı olarak çeşitli şekillerde OAuth 2.0 erişim jetonları alabilir. Ayrıntılar için Google API'lerine Erişmek İçin OAuth 2.0'ı Kullanma başlıklı makaleyi inceleyin. Normalde, erişim jetonu verilirken kullanıcı onayı gerekir.
Neyse ki Google yetkilendirme altyapısı, aynı projedeki diğer kullanıcıları yetkilendirip yetkilendirmeyeceğini değerlendirirken belirli bir proje içindeki istemci kimliği için kullanıcı onaylarıyla ilgili bilgileri kullanabilir.
Bu durumda, bir Android uygulaması belirli bir kapsam için erişim jetonu isterse ve istekte bulunan kullanıcı aynı projedeki bir web uygulamasına aynı kapsam için onay vermişse kullanıcıdan tekrar onay vermesi istenmez. Bu işlem iki yönlüdür: Android uygulamanızda bir kapsam için erişim izni verildiyse aynı projedeki başka bir istemciden (ör. web uygulaması) tekrar istenmez.