Bu referans sayfasında, uygulamanızın OAuth tabanlı hesap bağlama işlemi sırasında kullandığı Google tarafından sunulan uç noktalar ve arayüzler açıklanmaktadır.
Ön koşullar ve standartlar
Bu Google uç noktalarıyla başarılı bir şekilde etkileşim kurmak için entegrasyonunuzun aşağıdaki standartlara uyması gerekir:
- OAuth 2.0: RFC 6749 ile uyumludur.
- JSON Web Jetonları (JWT): RFC 7519 ile uyumludur (Basitleştirilmiş Bağlantı ve RISC için).
- Güvenlik Etkinliği Jetonları: RFC 8417 (RISC için) ile uyumludur.
- HTTPS: Tüm istekler güvenli bir HTTPS bağlantısı üzerinden yapılmalıdır.
OAuth yönlendirme URI'si
Hizmetinizin, başarılı kimlik doğrulama ve izin işleminden sonra kullanıcının tarayıcısını yönlendirdiği uç nokta. YOUR_PROJECT_ID yolu parametresi, kayıt sırasında yapılandırdığınız kimliktir.
- URL:
https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID Korumalı alan URL'si:
https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_IDYöntem:
GET(tarayıcı yönlendirmesi kullanılarak)
İstek Parametreleri
Kullanıcıyı Google'a geri yönlendirirken URL'ye parametreler eklenmelidir. Bu parametreler, kullanılan OAuth akışına bağlı olarak sorgu dizesi (yetkilendirme kodu akışı) veya URL parçası (dolaylı akış) olarak biçimlendirilir.
| Parametre | Açıklama |
|---|---|
code |
(Yetkilendirme kodu akışı için gereklidir) Hizmetiniz tarafından oluşturulan yetkilendirme kodu. |
state |
(Zorunlu) Google'dan orijinal olarak alınan, değiştirilmemiş durum değeri. |
access_token |
(Örtülü akış için zorunlu) Hizmetiniz tarafından oluşturulan uzun ömürlü erişim jetonu. |
token_type |
(Örtülü Akış için zorunlu) bearer olmalıdır. |
Hata Yanıtları
OAuth yönlendirme URI'sine yapılan istek hatalıysa HTTP 400 Bad Request hatası alırsınız. Yanıt metni, aşağıdaki yapıya sahip bir JSON nesnesi içerir:
| Alan | Açıklama |
|---|---|
sendPostBody |
JS'nin POST ile redirectUri'ye yönlendirilip yönlendirilmeyeceğini belirler. Bu senaryoda genellikle false olur. |
errorMessage |
Yönlendirme tamamlanamadığında istemciye gösterilecek hata mesajı. Eksik parçalar için bu değer "A URI fragment or query string must be set."'dır. |
OAuth 2.0 Hata Yanıtları
Kullanıcı izni reddederse veya hizmetiniz bir hatayla karşılaşırsa hizmetiniz, kullanıcıyı standart OAuth 2.0 hata parametreleriyle (ör. error=access_denied) OAuth yönlendirme URI'sine geri yönlendirmelidir. Google bu parametreleri işler ve kullanıcıya uygun bir hata ekranı gösterir.
RISC API'si (isteğe bağlı)
Kullanıcı, platformunuzdaki hesabının bağlantısını RISC protokolünü kullanarak kaldırdığında Google'ı proaktif olarak bilgilendirmek için hizmetiniz tarafından kullanılır. Böylece her iki platformun senkronize kalması sağlanır.
- URL:
https://risc.googleapis.com/v1/events:publish - Yöntem:
POST - Kimlik doğrulama: Uygun izinlere sahip bir Google hizmet hesabı jetonu gerektirir.
- Content-Type:
application/json
Güvenlik Etkinliği Jetonu Talepleri
Google'a jeton iptali etkinliklerini bildirmek için kullandığınız güvenlik etkinliği jetonları aşağıdaki tablodaki şartlara uygun olmalıdır:
| İddia | Açıklama |
|---|---|
iss |
Sertifikayı Veren Taraf Talebi: Bu, sizin barındırdığınız ve kayıt sırasında Google ile paylaşılan bir URL'dir. |
aud |
Kitle Talebi: Bu talep, JWT alıcısı olarak Google'ı tanımlar. google_account_linking olarak ayarlanmalıdır. |
jti |
JWT kimliği hak talebi: Bu, her güvenlik etkinliği jetonu için oluşturduğunuz benzersiz bir kimliktir. |
iat |
Verildiği Zaman Talebi: Bu, güvenlik etkinliği jetonunun oluşturulduğu zamanı temsil eden bir NumericDate değeridir. |
toe |
Etkinlik Hak Talebi Zamanı: Bu, jetonun iptal edildiği zamanı temsil eden isteğe bağlı NumericDate değerdir. |
exp |
Son Kullanma Zamanı Talebi: Bu alanı eklemeyin. Bu bildirime neden olan etkinlik zaten gerçekleşmiştir. |
events |
Güvenlik Etkinlikleri Talebi: Bu bir JSON nesnesidir ve yalnızca aşağıdaki alanları içeren tek bir jeton iptali etkinliği içermelidir:
|
Alan türleri ve biçimleri hakkında daha fazla bilgi için JSON Web Token (JWT) başlıklı makaleyi inceleyin.
Uygulama Bağlama "Geriye Doğru Kaldırılabilir" Arayüzü
Uygulama Geçişi için mobil uygulamanız, yetkilendirme kodunu veya erişim jetonunu Google uygulamasına döndürmelidir.
Android (Intent Sonucu)
Uygulamanız bir Intent kullanılarak açılıyor. İzin alındıktan sonra işlem tamamlanır ve Google'a bir sonuç döndürülür. Daha fazla bilgi için Android uygulama kılavuzuna bakın.
- İşlem:
com.google.android.gms.auth.CODE_AVAILABLE - Ekstralar:
code,state,access_token,token_type.
iOS (Özel URL Şeması ve Geçiş Bağlantıları)
Uygulamanız, özel bir URL şeması veya HTTPS Evrensel Bağlantısı kullanarak Google'ı açar. Daha fazla bilgi için iOS uygulama kılavuzuna bakın.
- Biçim:
<return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING