Web siteleri için Google Üçüncü Taraf Yetkilendirmesi JavaScript Kitaplığı - API referansı

Bu referans, Google'dan yetkilendirme kodları veya erişim jetonları yüklemek için kullanabileceğiniz Google 3. Taraf Yetkilendirme JavaScript Kitaplığı API'sini açıklar.

Yöntem: google.accounts.oauth2.initCodeClient

initCodeClient yöntemi, parametredeki yapılandırmalarla bir kod istemcisini başlatır ve döndürür.

google.accounts.oauth2.initCodeClient(config: CodeClientConfig)

Veri türü: CodeClientConfig

Aşağıdaki tabloda, CodeClientConfig veri türünün özellikleri listelenmektedir.

Özellikler
client_id Zorunludur. Uygulamanızın istemci kimliği. Bu değeri API Konsolu'nda bulabilirsiniz.
scope Zorunludur. Uygulamanızın kullanıcı adına erişebileceği kaynakları tanımlayan, boşlukla ayrılmış bir kapsam listesi. Bu değerler, Google'ın kullanıcıya gösterdiği izin ekranını bilgilendirir.
include_granted_scopes İsteğe bağlıdır, varsayılan olarak true değerine ayarlanır. Uygulamaların bağlamda ek kapsamlara erişim isteğinde bulunmak için artımlı yetkilendirmeyi kullanmasına olanak tanır. Bu parametrenin değerini false olarak ayarlarsanız ve yetkilendirme isteği kabul edilirse yeni erişim jetonu yalnızca scope'ın bu CodeClientConfig içinde istediği kapsamları kapsar.
redirect_uri Yönlendirme kullanıcı deneyimi için gereklidir. Kullanıcı yetkilendirme akışını tamamladıktan sonra API sunucusunun kullanıcıyı nereye yönlendireceğini belirler. Değer, API Konsolu'nda yapılandırdığınız OAuth 2.0 istemcisinin yetkili yönlendirme URI'lerinden biriyle tam olarak eşleşmeli ve yönlendirme URI'si doğrulama kurallarımıza uygun olmalıdır. Mülk, pop-up kullanıcı deneyimi tarafından yoksayılır.
callback Pop-up kullanıcı deneyimi için gereklidir. Döndürülen kod yanıtını işleyen JavaScript işlevi. Mülk, yönlendirme kullanıcı deneyimi tarafından yoksayılır.
state İsteğe bağlıdır. Yönlendirme kullanıcı deneyimi için önerilir. Uygulamanızın, yetkilendirme isteğiniz ile yetkilendirme sunucusunun yanıtı arasında durumu korumak için kullandığı herhangi bir dize değerini belirtir.
enable_granular_consent Desteği sonlandırıldı, ayarlanırsa hiçbir etkisi olmaz. İzin davranışıyla ilgili ayrıntılar için ayrıntılı izinlere bakın.
enable_serial_consent Desteği sonlandırıldı, ayarlanırsa hiçbir etkisi olmaz. İzin davranışıyla ilgili ayrıntılar için ayrıntılı izinlere bakın.
login_hint İsteğe bağlıdır. Uygulamanız, isteği hangi kullanıcının yetkilendirmesi gerektiğini biliyorsa Google'a giriş ipucu sağlamak için bu özelliği kullanabilir. İşlem başarılı olduğunda hesap seçimi atlanır. Hedef kullanıcının e-posta adresi veya kimlik jetonu alt alan değeri. Daha fazla bilgi için OpenID Connect dokümanlarında login_hint alanına bakın.
hd İsteğe bağlıdır. Uygulamanız, kullanıcının ait olduğu Workspace alanını biliyorsa Google'a ipucu vermek için bu alanı kullanın. İşlem başarılı olduğunda kullanıcı hesapları, sağlanan alanla sınırlandırılır veya önceden seçilir. Daha fazla bilgi için OpenID Connect dokümanlarında hd alanına bakın.
ux_mode İsteğe bağlıdır. Yetkilendirme akışı için kullanılacak kullanıcı deneyimi modu. Varsayılan olarak izin akışı bir pop-up pencerede açılır. Geçerli değerler popup ve redirect'dir.
select_account İsteğe bağlıdır, varsayılan olarak 'false' değerine ayarlanır. Kullanıcıdan hesap seçmesini isteyen Boole değeri.
error_callback İsteğe bağlıdır. OAuth dışındaki bazı hataları işleyen JavaScript işlevi (ör. pop-up pencerenin açılamaması veya OAuth yanıtı döndürülmeden kapatılması).

Giriş parametresinin "type" alanında ayrıntılı neden belirtilir.
  • popup_failed_to_open Pop-up pencere açılamadı.
  • popup_closed OAuth yanıtı döndürülmeden önce pop-up pencere kapatılır.
  • unknown Diğer hatalar için yer tutucu.

Veri türü: CodeClient

Sınıfın yalnızca bir herkese açık yöntemi vardır: requestCode. Bu yöntem, OAuth 2.0 Code UX akışını başlatır.

interface CodeClient {
  requestCode(): void;
}

Veri türü: CodeResponse

Pop-up kullanıcı deneyiminde CodeResponse JavaScript nesnesi, callback yönteminize iletilir. Yönlendirme kullanıcı deneyiminde CodeResponse, URL parametreleri olarak iletilir.

Aşağıdaki tabloda CodeResponse veri türünün özellikleri listelenmektedir.

Özellikler
code Başarılı bir jeton yanıtının yetkilendirme kodu.
scope Kullanıcı tarafından onaylanan, boşlukla ayrılmış bir kapsam listesi.
state Uygulamanızın, yetkilendirme isteğiniz ile yanıt arasında durumu korumak için kullandığı dize değeri.
error Tek bir ASCII hata kodu.
error_description İstemci geliştiricinin oluşan hatayı anlamasına yardımcı olmak için kullanılan, ek bilgiler sağlayan, kullanıcı tarafından okunabilen ASCII metni.
error_uri Hatayla ilgili bilgiler içeren, kullanıcı tarafından okunabilen bir web sayfasını tanımlayan ve istemci geliştiriciye hata hakkında ek bilgi sağlamak için kullanılan bir URI.

Yöntem: google.accounts.oauth2.initTokenClient

initTokenClient yöntemi, parametredeki yapılandırmalarla bir jeton istemcisini başlatır ve döndürür.

google.accounts.oauth2.initTokenClient(config: TokenClientConfig)

Veri türü: TokenClientConfig

Aşağıdaki tabloda, TokenClientConfig veri türünün özellikleri listelenmektedir.

Özellikler
client_id Zorunludur. Uygulamanızın istemci kimliği. Bu değeri API Konsolu'nda bulabilirsiniz.
callback Zorunludur. Döndürülen jeton yanıtını işleyen JavaScript işlevi.
scope Zorunludur. Uygulamanızın kullanıcı adına erişebileceği kaynakları tanımlayan, boşlukla ayrılmış bir kapsam listesi. Bu değerler, Google'ın kullanıcıya gösterdiği izin ekranını bilgilendirir.
include_granted_scopes İsteğe bağlıdır, varsayılan olarak true değerine ayarlanır. Uygulamaların bağlamda ek kapsamlara erişim isteğinde bulunmak için artımlı yetkilendirmeyi kullanmasına olanak tanır. Bu parametrenin değerini false olarak ayarlarsanız ve yetkilendirme isteği kabul edilirse yeni erişim jetonu yalnızca scope'ın bu TokenClientConfig içinde istediği kapsamları kapsar.
prompt İsteğe bağlıdır, varsayılan olarak 'select_account' değerine ayarlanır. Kullanıcıya gösterilecek istemlerin boşlukla ayrılmış, büyük/küçük harfe duyarlı listesi. Olası değerler:
  • boş dize Kullanıcıdan yalnızca uygulamanız ilk kez erişim istediğinde izin istenir. Diğer değerlerle birlikte belirtilemez.
  • 'none' Kimlik doğrulama veya izin ekranı göstermez. Diğer değerlerle belirtilmemelidir.
  • 'consent' Kullanıcıdan izin istenir.
  • 'select_account' Kullanıcıdan bir hesap seçmesini isteyin.
enable_granular_consent Desteği sonlandırıldı, ayarlanırsa hiçbir etkisi olmaz. İzin davranışıyla ilgili ayrıntılar için ayrıntılı izinlere bakın.
enable_serial_consent Desteği sonlandırıldı, ayarlanırsa hiçbir etkisi olmaz. İzin davranışıyla ilgili ayrıntılar için ayrıntılı izinlere bakın.
login_hint İsteğe bağlıdır. Uygulamanız, isteği hangi kullanıcının yetkilendirmesi gerektiğini biliyorsa Google'a giriş ipucu sağlamak için bu özelliği kullanabilir. İşlem başarılı olduğunda hesap seçimi atlanır. Hedef kullanıcının e-posta adresi veya kimlik jetonu alt alan değeri. Daha fazla bilgi için OpenID Connect dokümanlarında login_hint alanına bakın.
hd İsteğe bağlıdır. Uygulamanız, kullanıcının ait olduğu Workspace alanını biliyorsa Google'a ipucu vermek için bu alanı kullanın. İşlem başarılı olduğunda kullanıcı hesapları, sağlanan alanla sınırlandırılır veya önceden seçilir. Daha fazla bilgi için OpenID Connect dokümanlarında hd alanına bakın.
state İsteğe bağlıdır. Önerilmez. Uygulamanızın, yetkilendirme isteğiniz ile yetkilendirme sunucusunun yanıtı arasında durumu korumak için kullandığı herhangi bir dize değerini belirtir.
error_callback İsteğe bağlıdır. OAuth dışındaki bazı hataları işleyen JavaScript işlevi (ör. pop-up pencerenin açılamaması veya OAuth yanıtı döndürülmeden kapatılması).

Giriş parametresinin "type" alanında ayrıntılı neden belirtilir.
  • popup_failed_to_open Pop-up pencere açılamadı.
  • popup_closed OAuth yanıtı döndürülmeden önce pop-up pencere kapatılır.
  • unknown Diğer hatalar için yer tutucu.

Veri türü: TokenClient

Sınıfın yalnızca bir herkese açık yöntemi (requestAccessToken) vardır. Bu yöntem, OAuth 2.0 jetonu kullanıcı deneyimi akışını başlatır.

interface TokenClient {
  requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Bağımsız değişkenler
overrideConfig OverridableTokenClientConfig İsteğe bağlıdır. Bu yöntemde geçersiz kılınacak yapılandırmalar.

Veri türü: OverridableTokenClientConfig

Aşağıdaki tabloda, OverridableTokenClientConfig veri türünün özellikleri listelenmektedir.

Özellikler
scope İsteğe bağlıdır. Uygulamanızın kullanıcı adına erişebileceği kaynakları tanımlayan, boşlukla ayrılmış bir kapsam listesi. Bu değerler, Google'ın kullanıcıya gösterdiği izin ekranını bilgilendirir.
include_granted_scopes İsteğe bağlıdır, varsayılan olarak true değerine ayarlanır. Uygulamaların bağlamda ek kapsamlara erişim isteğinde bulunmak için artımlı yetkilendirmeyi kullanmasına olanak tanır. Bu parametrenin değerini false olarak ayarlarsanız ve yetkilendirme isteği kabul edilirse yeni erişim jetonu yalnızca scope'ın bu OverridableTokenClientConfig içinde istediği kapsamları kapsar.
prompt İsteğe bağlıdır. Kullanıcıya gösterilecek istemlerin boşlukla ayrılmış, büyük/küçük harfe duyarlı listesi.
enable_granular_consent Desteği sonlandırıldı, ayarlanırsa hiçbir etkisi olmaz. İzin davranışıyla ilgili ayrıntılar için ayrıntılı izinlere bakın.
enable_serial_consent Desteği sonlandırıldı, ayarlanırsa hiçbir etkisi olmaz. İzin davranışıyla ilgili ayrıntılar için ayrıntılı izinlere bakın.
login_hint İsteğe bağlıdır. Uygulamanız, isteği hangi kullanıcının yetkilendirmesi gerektiğini biliyorsa Google'a giriş ipucu sağlamak için bu özelliği kullanabilir. İşlem başarılı olduğunda hesap seçimi atlanır. Hedef kullanıcının e-posta adresi veya kimlik jetonu alt alan değeri. Daha fazla bilgi için OpenID Connect dokümanlarında login_hint alanına bakın.
state İsteğe bağlıdır. Önerilmez. Uygulamanızın, yetkilendirme isteğiniz ile yetkilendirme sunucusunun yanıtı arasında durumu korumak için kullandığı dize değerini belirtir.

Veri türü: TokenResponse

Pop-up kullanıcı deneyiminde geri çağırma yönteminize bir TokenResponse JavaScript nesnesi iletilir.

Aşağıdaki tabloda TokenResponse veri türünün özellikleri listelenmektedir.

Özellikler
access_token Başarılı bir jeton yanıtının erişim jetonu.
expires_in Erişim jetonunun saniye cinsinden kullanım ömrü.
hd Oturum açan kullanıcının ait olduğu barındırılan alan.
prompt TokenClientConfig veya OverridableTokenClientConfig tarafından belirtilen olası değerler listesinden kullanılan istem değeri.
token_type Verilen jetonun türü.
scope Kullanıcı tarafından onaylanan, boşlukla ayrılmış bir kapsam listesi.
state Uygulamanızın, yetkilendirme isteğiniz ile yanıt arasında durumu korumak için kullandığı dize değeri.
error Tek bir ASCII hata kodu.
error_description İstemci geliştiricinin oluşan hatayı anlamasına yardımcı olmak için kullanılan, ek bilgiler sağlayan, insanlar tarafından okunabilen ASCII metni.
error_uri Hatayla ilgili bilgiler içeren, kullanıcı tarafından okunabilen bir web sayfasını tanımlayan ve istemci geliştiriciye hata hakkında ek bilgi sağlamak için kullanılan bir URI.

Yöntem: google.accounts.oauth2.hasGrantedAllScopes

Kullanıcının belirtilen tüm kapsamları veya kapsamları verip vermediğini kontrol eder.

google.accounts.oauth2.hasGrantedAllScopes(
                                            tokenResponse: TokenResponse,
                                            firstScope: string, ...restScopes: string[]
                                          ): boolean;
Bağımsız değişkenler
tokenResponse TokenResponse Zorunludur. TokenResponse sınıfından bir nesne.
firstScope dize Zorunludur. Kontrol edilecek kapsam.
restScopes dize[] İsteğe bağlıdır. Kontrol edilecek diğer kapsamlar.
İadeler
boolean Tüm kapsamlar verilmişse doğru değerini döndürür.

Yöntem: google.accounts.oauth2.hasGrantedAnyScope

Kullanıcının belirtilen kapsamlardan herhangi birini verip vermediğini kontrol eder.

google.accounts.oauth2.hasGrantedAnyScope(
                                           tokenResponse: TokenResponse,
                                           firstScope: string, ...restScopes: string[]
                                         ): boolean;
Bağımsız değişkenler
tokenResponse TokenResponse Zorunludur. TokenResponse sınıfından bir nesne.
firstScope dize Zorunludur. Kontrol edilecek kapsam.
restScopes dize[] İsteğe bağlıdır. Kontrol edilecek diğer kapsamlar.
İadeler
boolean Kapsamlardan herhangi biri verilmişse doğru değerini döndürür.

Yöntem: google.accounts.oauth2.revoke

revoke yöntemi, kullanıcının uygulamaya verdiği tüm kapsamları iptal eder. İzni iptal etmek için geçerli bir erişim jetonu gerekir.

google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Bağımsız değişkenler
accessToken dize Zorunludur. Geçerli bir erişim jetonu.
callback işlev İsteğe bağlıdır. RevocationResponse işleyicisi.

Veri türü: RevocationResponse

Geri çağırma yönteminize bir RevocationResponse JavaScript nesnesi iletilir.

Aşağıdaki tabloda RevocationResponse veri türünün özellikleri listelenmektedir.

Özellikler
successful Boole. Başarılı olduğunda true, başarısız olduğunda false değerini döndürür.
error Dize. Başarılı olduğunda tanımlanmaz. Tek bir ASCII hata kodu. Bu durum, standart OAuth 2.0 hata kodlarını içerir ancak bunlarla sınırlı değildir. revoke yöntemi için sık karşılaşılan hatalar:
  • invalid_token: revoke yöntemi çağrılmadan önce jetonun süresi dolmuş veya iptal edilmiş. Çoğu durumda, accessToken ile ilişkili iznin iptal edildiğini kabul edebilirsiniz.
  • invalid_request: Jeton iptal edilemez. accessToken'in geçerli bir Google OAuth 2.0 kimlik bilgisi olduğundan emin olmalısınız.
error_description Dize. Başarılı olduğunda tanımlanmaz. Kullanıcıların okuyabileceği ASCII metni, error mülkü hakkında ek bilgi sağlar. Geliştiriciler, oluşan hatayı daha iyi anlamak için bu bilgileri kullanabilir. error_description dizesi yalnızca İngilizcedir. error bölümünde listelenen yaygın hatalar için ilgili error_description:
  • invalid_token: Jetonun süresi dolmuş veya iptal edilmiş.
  • invalid_request: Jeton iptal edilemez.