Bu sayfada, Google'ın OpenID Connect sağlayıcı olarak uygulaması açıklanmakta ve Google'ın OIDC uç noktaları için teknik referans sağlanmaktadır. OpenID Connect (OIDC) Core 1.0 spesifikasyonu, kullanıcıların kimliğini doğrulama ve kimlik bilgilerini alma protokolünü tanımlar.
Bu referans, OIDC'nin nasıl uygulanacağıyla ilgili adım adım talimatlar sağlamak için tasarlanmamıştır. Uygulama ayrıntıları için OpenID Connect kılavuzuna bakın.
Keşif belgesi
Keşif Belgesi, OpenID Connect Discovery 1.0 spesifikasyonunda tanımlandığı şekliyle Google'ın OpenID Connect yapılandırmasıyla ilgili meta verileri içerir.
URL: https://accounts.google.com/.well-known/openid-configuration
Desteklenen istek yöntemi: GET
Yanıt metni
Yanıt alanları, HTTP yanıtının gövdesinde, istekte bulunanın GET isteğine yönelik https://accounts.google.com/.well-known/openid-configuration yanıtında bir JSON nesnesi olarak döndürülür.
| Alan | Tür | Açıklama |
|---|---|---|
issuer |
string |
Kart sağlayıcı tanımlayıcısı. https şemasını kullanan, büyük/küçük harfe duyarlı URL. Modern değer https://accounts.google.com'dır ancak eski uygulamalar için accounts.google.com de döndürülür. |
authorization_endpoint |
string |
Yetkilendirme uç noktasının URL'si. |
device_authorization_endpoint |
string |
Cihaz Yetkilendirme Uç Noktası'nın URL'si. |
token_endpoint |
string |
Jeton uç noktasının URL'si. |
userinfo_endpoint |
string |
UserInfo uç noktasının URL'si. |
revocation_endpoint |
string |
İptal uç noktasının URL'si. |
jwks_uri |
string |
JSON Web Anahtarı Kümesi (JWKS) belgesinin URL'si. |
response_types_supported |
array |
Desteklenen response_type değerlerinin listesi. |
response_modes_supported |
array |
Desteklenen response_mode değerlerinin listesi. |
authorization_response_iss_parameter_supported |
boolean |
RFC 9207'nin desteklenip desteklenmediğini belirten Boole değeri. |
subject_types_supported |
array |
Desteklenen konu tanımlayıcı türlerinin listesi. |
id_token_signing_alg_values_supported |
array |
Kimlik jetonunu imzalamak için desteklenen algoritmaların listesi. |
scopes_supported |
array |
Desteklenen kapsam değerlerinin listesi. |
claims_supported |
array |
Desteklenen hak taleplerinin listesi. |
token_endpoint_auth_methods_supported |
array |
Jeton uç noktası için desteklenen kimlik doğrulama yöntemlerinin listesi. |
code_challenge_methods_supported |
array |
PKCE için desteklenen kod kimlik sorgulaması yöntemlerinin listesi. |
grant_types_supported |
array |
Desteklenen OAuth 2.0 erişim izni türlerinin listesi. |
Kimlik jetonu (talepler)
Yanıtlar içinde döndürülen id_token değeri, Discovery belgesinde bulunan jwks_uri öğesinden alınan anahtarlama materyali kullanılarak doğrulanması gereken imzalı bir JSON Web Token'dır (JWT). Aşağıdaki tabloda, kod çözülmüş kimlik jetonu yükünün içeriği açıklanmaktadır.
| İddia | Tür | Açıklama |
|---|---|---|
iss |
string |
Zorunlu. Yanıtı veren tarafın veren tanımlayıcısı. Genellikle https://accounts.google.com; ancak eski uygulamalar için accounts.google.com de döndürülür. |
sub |
string |
Zorunlu. Kullanıcı için, tüm Google Hesapları arasında benzersiz olan ve asla yeniden kullanılmayan bir tanımlayıcı. Bir Google Hesabı'nın farklı zamanlarda birden fazla e-posta adresi olabilir ancak sub değeri hiçbir zaman değiştirilmez. Uygulamanızda kullanıcı için benzersiz tanımlayıcı anahtar olarak sub kullanın. Maksimum uzunluk 255 büyük/küçük harfe duyarlı ASCII karakteridir. |
azp |
string |
Yetkili sunum yapan kişinin Google Cloud Console'dan alınan istemci tanımlayıcısı. Bu talep yalnızca kimlik jetonunu isteyen taraf ile kimlik jetonunun hedef kitlesi aynı olmadığında gereklidir. |
aud |
string |
Zorunlu. Kimlik jetonunun amaçlandığı kitle. Bu, Google Cloud Console'dan alınan uygulamanızın istemci tanımlayıcısıdır. |
iat |
integer |
Zorunlu. Kimlik jetonunun düzenlenme zamanı. Unix epoch zamanı (tam sayı saniye) olarak gösterilir. |
exp |
integer |
Zorunlu. Kimlik jetonunun kabul edilmemesi gereken son kullanma tarihi. Unix epoch zamanı (tam sayı saniye) olarak gösterilir. |
nonce |
string |
Kimlik doğrulama isteğinde uygulamanız tarafından sağlanan nonce değeri. Bu değeri yalnızca bir kez sunarak tekrar oynama saldırılarına karşı koruma sağlamalısınız. |
auth_time |
integer |
Kullanıcı kimlik doğrulamasının gerçekleştiği zaman. Unix zamanının başlangıcından (1 Ocak 1970, 00:00:00 UTC) bu yana geçen saniye sayısını temsil eden bir JSON sayısıdır. auth_time talebi, kimlik doğrulama isteği claims parametresine dahil edildiğinde sağlanır. |
at_hash |
string |
Erişim jetonu karması. Erişim jetonunun kimlik jetonuna bağlı olduğunu doğrulama Kimlik jetonu, sunucu akışında bir access_token değeriyle verildiyse bu talep her zaman dahil edilir. |
email |
string |
Kullanıcının e-posta adresi. Yalnızca isteğinize email kapsamını dahil ettiyseniz sağlanır. Bu talebin değeri bu hesaba özgü olmayabilir ve zaman içinde değişebilir. Bu nedenle, bu değeri kullanıcı kaydınıza bağlanmak için birincil tanımlayıcı olarak kullanmamalısınız. Google Workspace veya Cloud kuruluşlarının kullanıcılarını tanımlamak için email talebinin alanına da güvenemezsiniz. Bunun yerine hd talebini kullanın. Uyarı: Bir Google Hesabı'nda farklı zamanlarda birden fazla e-posta adresi olabileceğinden e-posta adresini tanımlayıcı olarak kullanmayın. Kullanıcı tanımlayıcısı olarak her zaman sub alanını kullanın. |
email_verified |
boolean |
Kullanıcının e-posta adresi doğrulandıysa doğru, aksi halde yanlış değerini alır. |
name |
string |
Kullanıcının tam adı (görüntülenebilir biçimde). İstek kapsamı profile dizesini içerdiğinde veya kimlik jetonu, jeton yenileme işleminden döndürüldüğünde sağlanabilir. |
picture |
string |
Kullanıcının profil resminin URL'si. İstek kapsamı profile dizesini içerdiğinde veya kimlik jetonu, jeton yenileme işleminden döndürüldüğünde sağlanabilir. |
given_name |
string |
Kullanıcının verilen adı veya adları. name talebi olduğunda sağlanabilir. |
family_name |
string |
Kullanıcının soyadı. name talebi olduğunda sağlanabilir. |
hd |
string |
Kullanıcının Google Workspace veya Cloud kuruluşuyla ilişkili alan. Yalnızca kullanıcı bir Google Cloud kuruluşuna aitse sağlanır. Bir kaynağa erişimi yalnızca belirli alan adlarının üyeleriyle kısıtlarken bu talebi kontrol etmeniz gerekir. Bu talebin olmaması, hesabın Google tarafından barındırılan bir alan adına ait olmadığını gösterir. |
Yetkilendirme Uç Noktası
Yetkilendirme uç noktası, kullanıcının kimliğini doğrulamak ve yetkilendirme kodu ya da jeton almak için kullanılır.
URL: https://accounts.google.com/o/oauth2/v2/auth
Desteklenen istek yöntemleri: GET, POST
İstek parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
client_id |
string |
Zorunlu | Google Cloud Console'dan aldığınız istemci tanımlayıcı dizesi. |
nonce |
string |
İsteğe bağlı | Uygulamanız tarafından oluşturulan ve yeniden oynatma korumasını etkinleştiren rastgele bir değer. Yalnızca kimlik jetonu istenirken gereklidir (response_type, id_token içerdiğinde). |
response_type |
string |
Zorunlu | Kullanılacak akışı belirler. Değer code ise jetonları almak için Jeton Uç Noktası'na POST gerektiren bir yetkilendirme kodu akışı başlatır. Değer token, id_token, token id_token veya id_token token ise URI parçasından jeton almak için Yönlendirme URI'sinde JavaScript'in kullanılmasını gerektiren dolaylı akış başlatılır. URL'de erişim jetonlarını açığa çıkardığı için token karakterinin herhangi bir biçimde kullanılması kesinlikle önerilmez. Bu değer, OAuth 2.1'de yasaktır. |
response_mode |
string |
İsteğe bağlı | Yetkilendirme yanıtının nasıl iletileceğini belirtir. response_type değeri code ise varsayılan değer query olur. Diğer yanıt türlerinde varsayılan değer fragment'dır. Desteklenen değerler: query, fragment, form_post. |
redirect_uri |
string |
Zorunlu | Yanıtın nereye gönderileceğini belirler. Bu parametrenin değeri, Google Cloud Console'da ayarladığınız yetkili yönlendirme değerlerinden biriyle tam olarak eşleşmelidir (HTTP veya HTTPS şeması, büyük/küçük harf kullanımı ve varsa sondaki "/" dahil). Yönlendirme URI'leri ve yetkilendirilmiş JavaScript kaynakları, OAuth 2.0 URI doğrulama dokümanında belirtilen doğrulama kurallarına uymalıdır. |
scope |
string |
Zorunlu | Boşlukla ayrılmış, sırasız bir kapsam listesi. Liste, openid değerini ve ardından profile değerini, email değerini veya her ikisini de içermelidir. OIDC olmayan kapsamları da ekleyebilirsiniz. profile kapsam değeri varsa kimlik jetonu, kullanıcının varsayılan profile taleplerini içerebilir (ancak bu garanti edilmez). email kapsam değeri varsa kimlik jetonu email ve email_verified taleplerini içerir. Daha fazla bilgi için OAuth 2.0 Kapsamları başlıklı makaleyi inceleyin. |
state |
string |
Önerilen | Protokolde gidiş-dönüş yapılan opak bir dizedir. Yani yetkilendirme kodu akışında URI parametresi olarak, dolaylı akışta ise URI parçası olarak döndürülür. state, istekleri ve yanıtları ilişkilendirmek için yararlı olabilir. redirect_uri değeriniz tahmin edilebileceğinden, state değeri kullanmak gelen bir bağlantının uygulamanız tarafından başlatılan bir kimlik doğrulama isteğinin sonucu olduğuna dair güvencenizi artırabilir. Bu, siteler arası istek sahteciliği gibi saldırılara karşı koruma sağlar. |
access_type |
string |
İsteğe bağlı | İzin verilen değerler offline ve online'dir. Uygulamanızın, kullanıcı tarayıcıda bulunmadığında erişim jetonlarını yenilemesi gerekiyorsa offline kullanın. Yenileme jetonunun döndürülmesi için bu değer gereklidir. |
hd |
string |
İsteğe bağlı | Google Cloud kuruluşu tarafından sahip olunan hesaplar için oturum açma sürecini kolaylaştırın. Google Cloud kuruluş alanını (ör. mycollege.edu) ekleyerek hesap seçimi kullanıcı arayüzünün bu alandaki hesaplar için optimize edilmesi gerektiğini belirtebilirsiniz. Yalnızca tek bir Google Cloud kuruluşu alanı yerine genellikle Google Cloud kuruluşu hesapları için optimizasyon yapmak istiyorsanız yıldız işareti (*) değerini ayarlayın: hd=*. |
login_hint |
string |
İsteğe bağlı | Uygulamanız, kimliği doğrulanmaya çalışılan kullanıcının kim olduğunu biliyorsa bu parametreyi kimlik doğrulama sunucusuna ipucu olarak sağlayabilir. Bu ipucunu iletmek, hesap seçiciyi devre dışı bırakır ve oturum açma formundaki e-posta kutusunu önceden doldurur veya doğru oturumu seçer. Bu sayede, uygulamanızın yanlış kullanıcı hesabıyla oturum açması durumunda ortaya çıkabilecek sorunları önleyebilirsiniz. Değer, e-posta adresi veya kullanıcının Google kimliğine eşdeğer olan sub dizesi olabilir. |
prompt |
string |
İsteğe bağlı | Yetkilendirme sunucusunun, kullanıcıdan yeniden kimlik doğrulama ve izin isteyip istemediğini belirten, boşlukla ayrılmış dize değerleri listesi. Olası değerler: none (kullanıcı arayüzü yok), consent (izin isteme), select_account (hesap seçme istemi). |
hl |
string |
İsteğe bağlı | Oturum açma, hesap seçici ve izin ekranlarında görüntülenecek dili belirtmek için kullanılan bir BCP 47 dil etiketi. Tarayıcı ayarları ve Google Hesabı tercihleri genellikle kullanıcıların dil tercihleri konusunda daha iyi göstergeler olduğundan bu parametrenin kullanılması önerilmez. |
include_granted_scopes |
boolean |
İsteğe bağlı | Bu parametre true değeriyle sağlanırsa ve yetkilendirme isteği verilirse yetkilendirme, bu kullanıcı/uygulama kombinasyonuna diğer kapsamlar için verilen önceki yetkilendirmeleri de içerir. Artımlı yetkilendirme bölümüne bakın. |
claims |
object |
İsteğe bağlı | claims parametresi, UserInfo yanıtına veya kimlik jetonuna eklenecek bir veya daha fazla isteğe bağlı alanı belirtmek için kullanılır. auth_time talebinde bulunmak için claims={\"id_token\":{\"auth_time\":{\"essential\":true}}} kullanın. |
Yanıt parametreleri
Yetkilendirme yanıtı, HTTP GET yönlendirmesi kullanılarak istemcinin yönlendirme URI'sine (redirect_uri) iletilir. Yanıt parametreleri, response_type ve response_mode değerlerine bağlı olarak sorgu dizesindeki veya URL parçasındaki yönlendirme URI'sine eklenir.
| Parametre | Tür | Açıklama |
|---|---|---|
iss |
string |
Düzenleyen kuruluş tanımlayıcısı. RFC 9207'ye göre bu parametre her zaman döndürülür ve https://accounts.google.com olarak ayarlanır. |
code |
string |
Erişim jetonu ve kimlik jetonu ile değiştirilebilen yetkilendirme kodu. |
state |
string |
İstekten gelen state parametresiyle aynı değer. |
id_token |
string |
Kullanıcıyla ilgili kimlik bilgilerini içeren bir JSON Web Token (JWT). |
access_token |
string |
Google API'ye gönderilebilen erişim jetonu. |
token_type |
string |
Döndürülen jetonun türü. Her zaman Bearer. |
expires_in |
integer |
Erişim jetonunun, jetonun verildiği zamana göre saniye cinsinden kullanım ömrü. |
scope |
string |
code veya access_token tarafından verilen erişim kapsamları, boşlukla ayrılmış, büyük/küçük harfe duyarlı dizeler listesi olarak ifade edilir. |
error |
string |
İstek başarısız olduysa hata kodu. |
error_description |
string |
İstek başarısız olduysa hatanın açıklaması. |
Hata Yanıtları
Yetkilendirme uç noktası için hatalar, sorgu dizesindeki veya URL parçasındaki parametreler olarak istemciye redirect_uri döndürülür ya da kullanıcıya Google tarafından barındırılan bir hata sayfası olarak gösterilir.
Yönlendirilen Hatalar
Aşağıdaki hata kodları redirect_uri öğenize döndürülebilir:
| Hata | Açıklama |
|---|---|
access_denied |
Kullanıcı veya yetkilendirme sunucusu isteği reddetti. |
invalid_request |
İstek, gerekli bir parametreyi içermiyor, geçersiz bir parametre değeri içeriyor, bir parametreyi birden fazla kez içeriyor veya başka bir şekilde hatalı biçimlendirilmiş. |
unauthorized_client |
İstemcinin bu yöntemi kullanarak yetkilendirme kodu isteme yetkisi yok. |
unsupported_response_type |
Yetkilendirme sunucusu, bu yöntemle yetkilendirme kodu alınmasını desteklemiyor. |
invalid_scope |
İstenen kapsam geçersiz, bilinmiyor veya hatalı biçimlendirilmiş. |
Kullanıcıya Yönelik Hatalar
client_id veya redirect_uri geçersiz olduğunda olduğu gibi bazı durumlarda, yetkilendirme sunucusu kullanıcıyı güvenli bir şekilde uygulamanıza geri yönlendiremez.
Bu gibi durumlarda, kullanıcıya doğrudan bir hata sayfası gösterilir.
| Hata | Açıklama |
|---|---|
admin_policy_enforced |
Google Hesabı, Google Workspace yöneticisinin politikaları nedeniyle istenen bir veya daha fazla kapsamı yetkilendiremiyor. Bir yöneticinin, OAuth istemci tanımlayıcınıza açıkça erişim izni verilene kadar erişimi nasıl kısıtlayabileceği hakkında daha fazla bilgi için Google Workspace Yönetici Yardım Merkezi makalesini inceleyin. |
disallowed_useragent |
Yetkilendirme uç noktası, Google'ın OAuth 2.0 Politikaları tarafından izin verilmeyen yerleştirilmiş bir kullanıcı aracısı içinde gösteriliyor. |
org_internal |
İstekteki OAuth istemci tanımlayıcısı, belirli bir Google Cloud kuruluşundaki Google Hesaplarına erişimi sınırlayan bir projenin parçasıdır. |
deleted_client |
İsteği göndermek için kullanılan OAuth istemcisi silinmiştir. Silme işlemi manuel olarak veya kullanılmayan istemciler söz konusu olduğunda otomatik olarak gerçekleşebilir. |
invalid_grant |
PKCE kullanılırken code_challenge parametresi geçersiz veya eksik. Erişim jetonu yenilenirken veya artımlı yetkilendirme kullanılırken jetonun süresi dolmuş, jeton geçersiz kılınmış ya da kullanıcı hesabı silinmiş veya devre dışı bırakılmış olabilir. |
redirect_uri_mismatch |
İstekle iletilen redirect_uri, istemci tanımlayıcısı için yetkili bir yönlendirme URI'siyle eşleşmiyor. Google Cloud Console'da yetkilendirilmiş yönlendirme URI'lerini inceleyin. Bu hata, istekte kullanımdan kaldırılan bant dışı (OOB) OAuth akışı kullanılıyorsa da oluşabilir. |
invalid_client |
İsteğin yapıldığı kaynak bu istemci için yetkilendirilmemiş, istemci yapılandırması yanlış veya OAuth istemci gizli anahtarı yanlış. |
origin_mismatch |
Yetkilendirme isteğini başlatan JavaScript'in şeması, alanı ve/veya bağlantı noktası, OAuth istemci tanımlayıcısı için kaydedilmiş yetkili bir JavaScript kaynağı URI'siyle eşleşmiyor. Google Cloud Console'da yetkili JavaScript kaynaklarını inceleyin. |
invalid_request |
İstekle ilgili bir sorun vardı. Bunun nedeni, hatalı biçimlendirilmiş bir istek, gerekli parametrelerin eksik olması veya Google'ın desteklemediği bir yetkilendirme yönteminin kullanılması olabilir. |
Jeton Uç Noktası
Jeton uç noktası, yetkilendirme kodunu erişim jetonu ve kimlik jetonu ile değiştirmek için kullanılır.
URL: https://oauth2.googleapis.com/token
Desteklenen istek yöntemi: POST
İstek parametreleri (yetkilendirme kodu izni)
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
code |
string |
Zorunlu | Yetkilendirme uç noktasından alınan yetkilendirme kodu. |
client_id |
string |
Zorunlu | Uygulamanızın istemci tanımlayıcısı. Bu tanımlayıcıyı Google Cloud Console'dan edinebilirsiniz. |
client_secret |
string |
Zorunlu | Uygulamanızın istemci gizli anahtarı, Google Cloud Console'dan alınır. |
redirect_uri |
string |
Zorunlu | İlk yetkilendirme isteğinde kullanılan yönlendirme URI'si. Yönlendirme URI'leri ve yetkilendirilmiş JavaScript kaynakları, OAuth 2.0 URI doğrulama dokümanında belirtilen doğrulama kurallarına uymalıdır. |
grant_type |
string |
Zorunlu | authorization_code olarak ayarlanmalıdır. |
İstek parametreleri (Cihaz Akışı)
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
client_id |
string |
Zorunlu | Uygulamanızın istemci tanımlayıcısı. Bu tanımlayıcıyı Google Cloud Console'dan edinebilirsiniz. |
client_secret |
string |
Zorunlu | Uygulamanızın istemci gizli anahtarı, Google Cloud Console'dan alınır. |
device_code |
string |
Zorunlu | Cihaz yetkilendirme uç noktası tarafından döndürülen device_code. |
grant_type |
string |
Zorunlu | urn:ietf:params:oauth:grant-type:device_code olarak ayarlanmalıdır. |
İstek parametreleri (Erişim jetonunu yenileme)
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
client_id |
string |
Zorunlu | Uygulamanızın istemci tanımlayıcısı. Bu tanımlayıcıyı Google Cloud Console'dan edinebilirsiniz. |
client_secret |
string |
Zorunlu | Uygulamanızın istemci gizli anahtarı, Google Cloud Console'dan alınır. |
grant_type |
string |
Zorunlu | OpenID Connect Yenileme Jetonları spesifikasyonunda tanımlandığı şekilde refresh_token olarak ayarlanmalıdır. |
refresh_token |
string |
Zorunlu | Yetkilendirme kodu değişiminden döndürülen yenileme jetonu. |
scope |
string |
İsteğe bağlı | Yeni erişim jetonu için istenen kapsamların boşlukla ayrılmış listesi. İstenen kapsamlar, orijinal yetkilendirme isteğinde verilen kapsamların alt kümesi olmalıdır. |
Yanıt metni
Yanıt alanları, HTTP yanıtının gövdesinde, istekte bulunanın POST isteğine yönelik https://oauth2.googleapis.com/token yanıtında bir JSON nesnesi olarak döndürülür.
| Alan | Tür | Açıklama |
|---|---|---|
access_token |
string |
Google API'ye gönderilebilen erişim jetonu. |
expires_in |
integer |
Erişim jetonunun kullanım ömrü (saniye cinsinden, jetonun verildiği zamana göre). |
id_token |
string |
Kullanıcıyla ilgili kimlik bilgilerini içeren bir JSON Web Token (JWT). Bu jeton, ilk yetkilendirme kodu değişimi sırasında döndürülür ve openid kapsamı verilmişse yenileme jetonu isteği sırasında da döndürülebilir. |
scope |
string |
access_token tarafından verilen erişim kapsamları, boşlukla ayrılmış ve büyük/küçük harfe duyarlı dizeler listesi olarak ifade edilir. |
token_type |
string |
Döndürülen jetonun türü. Her zaman Bearer. |
refresh_token |
string |
(İsteğe bağlı) Yeni erişim jetonları almak için kullanılabilecek bir jeton. Bu alan yalnızca access_type=offline istenmişse yetkilendirme kodunun ilk değişiminde döndürülür. |
refresh_token_expires_in |
integer |
(İsteğe bağlı) Yenileme jetonunun kalan kullanım ömrü (saniye cinsinden). Bu değer yalnızca kullanıcı zamana dayalı erişim izni verdiğinde ayarlanır. |
Hata yanıtları
İstek başarısız olursa yetkilendirme sunucusu aşağıdaki alanları içeren bir JSON nesnesi döndürür:
| Alan | Tür | Açıklama |
|---|---|---|
error |
string |
Hata kodu. |
error_description |
string |
İstek başarısız olduysa hatanın açıklaması. |
Aşağıdaki tabloda olası hata kodları ve bunlarla ilişkili HTTP durum kodları açıklanmaktadır:
| Hata | HTTP Durum Kodu | Açıklama |
|---|---|---|
invalid_request |
400 |
İstek, gerekli bir parametreyi içermiyor, geçersiz bir parametre değeri içeriyor veya başka bir şekilde hatalı biçimlendirilmiş. |
invalid_client |
401 |
İstemci kimlik doğrulaması başarısız oldu. Örneğin, client_id veya client_secret geçersiz ya da istemci türü yanlış. |
invalid_grant |
400 |
Sağlanan yetkilendirme kodu, yenileme jetonu veya cihaz kodu geçersiz, süresi dolmuş, iptal edilmiş ya da yetkilendirme isteğinde kullanılan yönlendirme URI'siyle eşleşmiyor. |
unauthorized_client |
400 |
Kimliği doğrulanmış istemcinin bu yetkilendirme izni türünü kullanma yetkisi yok. |
unsupported_grant_type |
400 |
Yetkilendirme verme türü, yetkilendirme sunucusu tarafından desteklenmiyor. |
invalid_scope |
400 |
İstenen kapsam geçersiz, bilinmiyor veya hatalı biçimlendirilmiş. |
authorization_pending |
428 |
(Cihaz Akışı) Kullanıcı, yetkilendirme akışını henüz tamamlamamıştır. |
slow_down |
429 |
(Cihaz Akışı) Cihaz, yoklama isteklerini çok sık gönderiyor. |
access_denied |
403 |
(Cihaz Akışı) Kullanıcı, cihaza erişim izni vermeyi reddetti. |
expired_token |
400 |
(Cihaz akışı) device_code süresi doldu. |
admin_policy_enforced |
400 |
Kullanıcı, Google Workspace yöneticisi tarafından uygulanan politikalar nedeniyle istenen kapsamları yetkilendiremiyor. |
org_internal |
403 |
İstemci tanımlayıcısı, erişimi belirli bir Google Cloud kuruluşuyla sınırlayan bir projenin parçasıdır. |
Cihaz Yetkilendirme Uç Noktası
Cihaz Yetkilendirme Uç Noktası, sınırlı giriş özelliklerine sahip cihazlar için kullanıcı kodu ve doğrulama URL'si almak üzere OAuth 2.0 Cihaz Akışı'nda kullanılır.
URL: https://oauth2.googleapis.com/device/code
Desteklenen istek yöntemi: POST
İstek parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
client_id |
string |
Zorunlu | Uygulamanızın istemci tanımlayıcısı. Bu tanımlayıcıyı Google Cloud Console'dan edinebilirsiniz. |
scope |
string |
Zorunlu | Uygulamanızın kullanıcı adına erişebileceği kaynakları tanımlayan, boşlukla ayrılmış kapsam listesi. |
Yanıt metni
Yanıt, aşağıdaki alanları içeren bir JSON nesnesidir:
| Alan | Tür | Açıklama |
|---|---|---|
device_code |
string |
Google'ın, yetkilendirme isteyen uygulamayı çalıştıran cihazı tanımlamak için benzersiz olarak atadığı bir değer. |
user_code |
string |
Uygulamanın erişim isteğinde bulunduğu kapsamları Google'a bildiren, büyük/küçük harfe duyarlı bir değer. Kullanıcı arayüzünüz, kullanıcıya bu değeri daha zengin giriş özelliklerine sahip ayrı bir cihaza girmesini söyler. |
verification_url |
string |
Kullanıcının ayrı bir cihazda user_code girmek ve uygulamanıza erişim izni vermek ya da erişimi reddetmek için gitmesi gereken URL. |
expires_in |
integer |
device_code ve user_code'nin geçerli olduğu süre (saniye cinsinden). |
interval |
integer |
Cihazınızın yoklama istekleri arasında beklemesi gereken sürenin uzunluğu (saniye cinsinden). |
İptal Uç Noktası
İptal uç noktası, uygulamanızın erişim jetonunu veya yenileme jetonunu iptal etmesine olanak tanır.
URL: https://oauth2.googleapis.com/revoke
Desteklenen istek yöntemi: POST
İstek parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
token |
string |
Zorunlu | İptal etmek istediğiniz erişim jetonu veya yenileme jetonu. |
Yanıt metni
İptal işlemi başarılı olursa yanıt boş bir HTTP 200 OK olur. İptal işlemi başarısız olursa JSON nesnesinde bir hata yanıtı döndürülür.
| Alan | Tür | Açıklama |
|---|---|---|
error |
string |
İstek başarısız olduysa hata kodu. |
error_description |
string |
İstek başarısız olduysa hatanın açıklaması. |
Aşağıdaki tabloda olası hata kodları açıklanmıştır:
| Hata | Açıklama |
|---|---|
invalid_token |
İstekle sağlanan jetonun süresi dolmuş veya jeton daha önce iptal edilmiş. |
invalid_request |
İstek, gerekli bir parametreyi içermiyor, geçersiz bir parametre değeri içeriyor veya başka bir şekilde hatalı biçimlendirilmiş. |
UserInfo uç noktası
UserInfo Endpoint, kimliği doğrulanmış kullanıcı hakkında profil bilgileri döndürür.
URL: https://openidconnect.googleapis.com/v1/userinfo
Desteklenen istek yöntemleri: GET, POST
İstek üst bilgileri
| Başlık | Açıklama |
|---|---|
Authorization |
Zorunlu. Bearer: access_token olarak ayarlanmalıdır. |
Yanıt metni
Yanıt alanları, HTTP yanıtının gövdesinde, istekte bulunanın GET veya POST isteğine yönelik https://openidconnect.googleapis.com/v1/userinfo yanıtında bir JSON nesnesi olarak döndürülür.
| Alan | Tür | Açıklama |
|---|---|---|
sub |
string |
Zorunlu. Kullanıcı için, tüm Google Hesapları arasında benzersiz olan ve asla yeniden kullanılmayan bir tanımlayıcı. 255 karakteri aşmayan, büyük/küçük harfe duyarlı dize. |
name |
string |
Kullanıcının tam adı (görüntülenebilir biçimde). |
given_name |
string |
Kullanıcının verilen adı veya adları. |
family_name |
string |
Kullanıcının soyadı. |
picture |
string |
Kullanıcının profil resminin URL'si. |
email |
string |
Kullanıcının e-posta adresi. |
email_verified |
boolean |
Kullanıcının e-posta adresinin doğrulanıp doğrulanmadığı |
hd |
string |
Kullanıcının Google Workspace veya Cloud kuruluşuyla ilişkili barındırılan alan adı. |
Tokeninfo Uç Noktası
tokeninfo uç noktası, hata ayıklama amacıyla bir kimlik jetonunu doğrulamak için kullanılan Google'a özgü bir uygulamadır.
URL: https://oauth2.googleapis.com/tokeninfo
Desteklenen istek yöntemleri: GET, POST
İstek parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id_token |
string |
Zorunlu | Doğrulanacak kimlik jetonu. |
Yanıt metni
Yanıt alanları, HTTP yanıtının gövdesinde, istekte bulunanın GET veya POST isteğine yönelik https://oauth2.googleapis.com/tokeninfo yanıtında bir JSON nesnesi olarak döndürülür.
| Alan | Tür | Açıklama |
|---|---|---|
iss |
string |
Düzenleyen kuruluş tanımlayıcısı. Her zaman https://accounts.google.com. |
sub |
string |
Kullanıcı için, tüm Google Hesapları arasında benzersiz olan ve asla yeniden kullanılmayan bir tanımlayıcı. |
aud |
string |
Kimlik jetonunun amaçlandığı kitle. Bu, Google Cloud Console'dan alınan uygulamanızın istemci tanımlayıcısıdır. |
iat |
integer |
JWT'nin yayınlandığı zaman. 1970-01-01T0:0:0Z tarihinden itibaren UTC olarak ölçülen saniye sayısı olarak gösterilir. |
exp |
integer |
Kimlik jetonunun işleme için kabul edilmemesi gereken son kullanma tarihi. 1970-01-01T0:0:0Z tarihinden itibaren UTC olarak ölçülen saniye sayısı olarak gösterilir. |
email |
string |
Kullanıcının e-posta adresi. |
email_verified |
string |
Kullanıcının e-posta adresinin doğrulanıp doğrulanmadığı Değer, "true" veya "false" dizesidir. |
access_type |
string |
Orijinal yetkilendirme isteğinde istenen erişim türü. |
azp |
string |
Yetkili sunum yapan kişinin Google Cloud Console'dan alınan istemci tanımlayıcısı. |
scope |
string |
Boşlukla ayrılmış, jetona verilen kapsamlar listesi. |
alg |
string |
Kimlik jetonunu imzalamak için kullanılan algoritma. |
kid |
string |
Kimlik jetonunu imzalamak için kullanılan anahtar kimliği. |
typ |
string |
Jetonun türü. Her zaman JWT. |