Bu kılavuzda, FedCM API'lerinin Google ile Oturum Açma platform kitaplığı tarafından benimsenmesi ele alınmaktadır. Konular arasında, kütüphaneye geriye dönük uyumlu bir güncelleme için Zaman Çizelgesi ve Sonraki Adımlar, Etki değerlendirmesinin nasıl yürütüleceği ve kullanıcı oturum açmanın beklendiği gibi çalışmaya devam ettiğinin nasıl doğrulanacağı ve gerekirse web uygulamanızı güncelleme talimatları yer alır. Geçiş dönemini yönetme seçenekleri ve Yardım almanın yolları da ele alınır.
Kitaplığın durumu
Yeni web uygulamalarının, kullanımdan kaldırılan Google ile Oturum Açma platform kitaplığını kullanması engellenir ancak kitaplığı kullanan uygulamalar bir sonraki duyuruya kadar devam edebilir. Kitaplık için nihai bir kullanımdan kaldırma tarihi (kapanma) henüz belirlenmedi. Daha fazla bilgi için Desteğin sonlandırılması ve desteğin sonlandırılması başlıklı makaleyi inceleyin.
Geriye dönük uyumlu güncelleme, Google ile Oturum Açma kitaplığına FedCM API'leri ekler. Çoğu değişiklik sorunsuz olsa da güncelleme; kullanıcı istemleri, iframe izinler-politikası ve İçerik Güvenliği Politikası'nda (İGP) farklılıklara da neden olmaktadır. Bu değişiklikler web uygulamanızı etkileyebilir. Ayrıca uygulama kodunda ve site yapılandırmasında değişiklik yapılmasını gerektirir.
Geçiş döneminde, bir yapılandırma seçeneği kullanıcının oturum açarken FedCM API'lerinin kullanılıp kullanılmayacağını kontrol eder.
Geçiş döneminden sonra, Google ile Oturum Açma kitaplığını kullanan tüm web uygulamaları için FedCM API'lerinin kullanılması zorunludur.
Zaman çizelgesi
Son güncelleme tarihi: Nisan 2025
Kullanıcıların oturum açma davranışını etkileyen tarihler ve değişiklikler şunlardır:
- Mart 2023 Google ile Oturum Açma platformu kitaplığı için desteğin sonlandırılması.
- Temmuz 2024'te geçiş dönemi başlıyor ve FedCM API'leri için Google ile Oturum Açma platform kitaplığı desteği eklendi. Varsayılan olarak Google, bu süre boyunca FedCM'yi kullanan kullanıcı oturum açma isteklerinin yüzdesini kontrol eder ve web uygulamaları, bu davranışı
use_fedcm
parametresiyle açıkça geçersiz kılabilir. - Ağustos 2025, Google ile Oturum Açma platform kitaplığı tarafından FedCM API'lerinin zorunlu olarak benimsenmesi.
Sonraki adımlar
Uygulayabileceğiniz üç seçenek var:
- Etki değerlendirmesi yapın ve gerekirse web uygulamanızı güncelleyin. Bu yaklaşım, web uygulamanızda değişiklik gerektiren özelliklerin kullanımda olup olmadığını değerlendirir. Bu kılavuzun bir sonraki bölümünde talimatlar verilmiştir.
- Google Kimlik Hizmetleri (GIS) kitaplığına taşıyın. En yeni ve desteklenen oturum açma kitaplığına geçmeniz önemle tavsiye edilir. Bunu yapmak için bu talimatları uygulayın.
- Hiçbir işlem yapmamayı tercih edebilirsiniz. Google ile Oturum Açma kitaplığı, kullanıcının oturum açması için FedCM API'lerine taşındığında web uygulamanız otomatik olarak güncellenir. Bu en az işlem olsa da kullanıcıların web uygulamanızda oturum açamama riski vardır.
Etki değerlendirmesi yapın
Web uygulamanızın geriye dönük uyumlu bir güncellemeyle sorunsuz bir şekilde güncellenip güncellenemeyeceğini veya Google ile Oturum Açma platform kitaplığı FedCM API'lerini tam olarak benimsediğinde kullanıcıların oturum açamamasını önlemek için değişiklik gerekip gerekmediğini belirlemek için bu talimatları uygulayın.
Kurulum
Kullanıcı oturum açarken FedCM'yi kullanmak için tarayıcı API'leri ve Google ile Oturum Açma platform kitaplığının en son sürümü gereklidir.
Devam etmeden önce:
- Masaüstü için Chrome'un en son sürümüne güncelleyin. Android için Chrome, M128 veya sonraki sürümleri gerektirir ve önceki sürümler kullanılarak test edilemez.
Web uygulamanızda Google ile Oturum Açma platformu kitaplığını başlatırken
use_fedcm
değerinitrue
olarak ayarlayın. JavaScript başlatma genellikle şu şekilde görünür:gapi.client.init({use_fedcm: true})
veyagapi.auth2.init({use_fedcm: true})
veyagapi.auth2.authorize({use_fedcm: true})
.
Alternatif olarak, HTML'de FedCM'yi etkinleştirmek için bir
meta
etiketi kullanılabilir:<meta name="google-signin-use_fedcm" content="true">
Google ile Oturum Açma platform kitaplığının önbelleğe alınmış sürümlerini geçersiz kılın. Kitaplığın en son sürümü, bir
<script src>
etiketineapi.js
,client.js
veyaplatform.js
eklenerek tarayıcıya doğrudan indirildiği için bu adım genellikle gereksizdir (istek, kitaplık için bu paket adlarından herhangi birini kullanabilir).OAuth istemci kimliğiniz için OAuth ayarlarını onaylayın:
- Google API Consoleöğesinin Kimlik bilgileri sayfasını açın
Web sitenizin URI'sinin Yetkili JavaScript kaynakları bölümüne eklendiğini doğrulayın. URI yalnızca şemayı ve tam nitelikli ana makine adını içerir. Örneğin,
https://www.example.com
.İsteğe bağlı olarak, kimlik bilgileri JavaScript geri çağırması yerine, barındırdığınız bir uç noktaya yönlendirme kullanılarak döndürülebilir. Bu durumda, yönlendirme URI'larınızın Yetkili yönlendirme URI'lerine dahil edildiğini doğrulayın. Yönlendirme URI'leri şemayı, tam ana makine adını ve yolu içerir ve Yönlendirme URI'si doğrulama kurallarına uygun olmalıdır. Örneğin,
https://www.example.com/auth-receiver
.
Test
Kurulumdaki talimatları uyguladıktan sonra:
- Mevcut tüm Chrome gizli pencerelerini kapatın ve yeni bir gizli pencere açın. Bu işlem, önbelleğe alınan içerikleri veya çerezleri temizler.
- Kullanıcı oturum açma sayfanızı yükleyin ve oturum açmayı deneyin.
Bilinen sorunları tanımlamak ve düzeltmek için bu kılavuzun bu bölümlerinde yer alan talimatları uygulayın:
Console'da, Google Oturum Açma kitaplığıyla ilgili hata veya uyarı olup olmadığını kontrol edin.
Herhangi bir hata oluşmadığı ve başarılı bir şekilde oturum açabilene kadar bu işlemi tekrarlayın. Oturum açma işleminin başarılı olduğunu doğrulamak için
BasicProfile.getEmail()
'ın e-posta adresinizi iade ettiğini veGoogleUser.isSignedIn()
'ninTrue
olduğunu onaylayabilirsiniz.
Google ile Oturum Açma kitaplık isteğini bulma
Google ile Oturum Açma platform kitaplığı isteğini inceleyerek permissions-policy ve İçerik Güvenliği Politikası'ndaki değişikliklerin gerekli olup olmadığını kontrol edin. Bunun için kitaplığın adını ve kaynağını kullanarak isteği bulun:
- Chrome'da, Geliştirici Araçları Ağ panelini açıp sayfayı yeniden yükleyin.
- Kitaplık isteğini bulmak için Alan ve Ad sütunlarındaki değerleri kullanın:
- Alan adı:
apis.google.com
ve - Ad;
api.js
,client.js
veyaplatform.js
. Ad'ın belirli değeri, belge tarafından istenen kitaplık paketine bağlıdır.
- Alan adı:
Örneğin, Alan sütununda apis.google.com
ve Ad sütununda platform.js
ile filtreleme yapın.
iframe izinleri politikasını kontrol edin
Siteniz, kaynaklar arası iframe içinde Google ile Oturum Açma platform kitaplığını kullanabilir. Böyle bir durum söz konusuysa bir güncelleme yapılması gerekir.
Google Oturum Açma kitaplığı isteğini bulma talimatlarını uyguladıktan sonra, DevTools Ağ panelinde Google Oturum Açma kitaplığı isteğini seçin ve Başlıklar sekmesindeki İstek Başlıkları bölümünde Sec-Fetch-Site
başlığını bulun. Başlığın değeri şöyle ise:
same-site
veyasame-origin
ile kaynaklar arası politikalar geçerli olmaz ve değişiklik yapmanız gerekmez.- iFrame kullanılıyorsa
cross-site
değişiklikleri gerekebilir.
Bir iframe olup olmadığını doğrulamak için:
- Chrome Geliştirici Araçları'nda Öğeler panelini seçin ve
- Dokümanda iFrame bulmak için Ctrl-F tuşlarını kullanın.
Bir iframe bulunursa belgeyi inceleyerek iframe içine Google ile Oturum Açma kitaplığını yükleyen gapi.auth2 işlevleri veya script src
yönergelerini çağırın. Böyle bir durumda:
- Üst iframe'e
allow="identity-credentials-get"
izin politikasını ekleyin.
Bu işlemi, dokümandaki her iframe için tekrarlayın. iframe'ler iç içe yerleştirilebilir. Bu nedenle, etrafındaki tüm üst iframe'lere allow yönergesini eklediğinizden emin olun.
İçerik Güvenliği Politikası'nı Kontrol Edin
Siteniz İçerik Güvenliği Politikası kullanıyorsa Google ile Oturum Açma kitaplığının kullanımına izin vermek için İGP'nizi güncellemeniz gerekebilir.
Google Oturum Açma kitaplığı isteğini bulma talimatlarını izledikten sonra, DevTools Ağ panelinde Google Oturum Açma kitaplığı isteğini seçin ve Başlıklar sekmesinin Yanıt Başlıkları bölümünde Content-Security-Policy
başlığını bulun.
Üstbilgi bulunamazsa herhangi bir değişiklik gerekmez. Aksi takdirde, bu CSP yönergelerinden herhangi birinin CSP başlığında tanımlanıp tanımlanmadığını kontrol edin ve bunları aşağıdaki şekilde güncelleyin:
Herhangi bir
connect-src
,default-src
veyaframe-src
yönergesinehttps://apis.google.com/js/
,https://accounts.google.com/gsi/
vehttps://acounts.google.com/o/fedcm/
ekleme.script-src
yönergesinehttps://apis.google.com/js/bundle-name.js
ekleme. Doküman isteklerinin kitaplık paketine görebundle-name.js
öğesiniapi.js
,client.js
veyaplatform.js
ile değiştirin.
Kullanıcı istemi değişikliklerini kontrol etme
Kullanıcı istemi davranışında bazı farklılıklar vardır. FedCM, tarayıcı tarafından görüntülenen kalıcı bir iletişim kutusu ekler ve kullanıcı etkinleştirme gereksinimlerini günceller.
Kalıcı iletişim kutusu
Temel içeriğin güvenli bir şekilde yer paylaşımlı olabileceğini ve tarayıcının kalıcı iletişim kutusu tarafından geçici olarak gizlenebileceğini onaylamak için sitenizin düzenini inceleyin. Böyle bir durum yoksa web sitenizin bazı öğelerinin düzenini veya konumunu ayarlamanız gerekebilir.
Kullanıcı etkinleştirme
FedCM, güncellenmiş kullanıcı etkinleştirme koşullarını içerir. Bir düğmeye basmak veya bir bağlantıyı tıklamak, üçüncü taraf kaynakların ağ isteklerinde bulunmasına ya da veri depolamasına olanak tanıyan kullanıcı hareketlerine örnektir. FedCM ile tarayıcı, şu durumlarda kullanıcı izni ister:
- Kullanıcı yeni bir tarayıcı örneği kullanarak bir web uygulamasında ilk kez oturum açtığında veya
GoogleAuth.signIn
çağrılır.
Günümüzde kullanıcı web sitenizde daha önce oturum açmışsa gapi.auth2.init
kullanarak Google ile Oturum Açma kitaplığını başlatırken başka kullanıcı etkileşimi olmadan kullanıcının oturum açma bilgilerini alabilirsiniz. Kullanıcı ilk olarak FedCM oturum açma akışından en az bir kez geçmediği sürece bu artık mümkün değildir.
FedCM'yi etkinleştirdiğinizde ve GoogleAuth.signIn
numaralı telefonu aradığınızda aynı kullanıcı web sitenizi tekrar ziyaret ettiğinde gapi.auth2.init
, başlatma sırasında kullanıcı etkileşimi olmadan kullanıcının oturum açma bilgilerini alabilir.
Yaygın kullanım örnekleri
Google ile Oturum Açma kitaplığının geliştirici belgeleri, yaygın kullanım alanlarına yönelik kılavuzlar ve kod örnekleri içerir. Bu bölümde FedCM'nin davranışlarını nasıl etkilediği anlatılmaktadır.
Google ile Oturum Açma'yı web uygulamanıza entegre etme
Bu demoda düğme bir
<div>
öğesi ve bir sınıf tarafından oluşturuluyor. Zaten oturum açmış kullanıcılar içinonload
etkinliği sayfası kullanıcı kimlik bilgilerini döndürüyor. Oturum açmak ve yeni bir oturum oluşturmak için kullanıcı etkileşimi gereklidir.Kitaplık başlatma işlemi,
gapi.load
vegapi.auth2.init
yöntemini çağırang-signin2
sınıfı tarafından yapılır.Bir kullanıcı hareketi,
<div>
öğesionclick
etkinliği, oturum açma sırasındaauth2.signIn
veya oturum kapatılırkenauth2.signOut
yöntemini çağırır.Özel bir Google ile Oturum Açma düğmesi oluşturma
Birinci demoda, oturum açma düğmesinin görünümünü kontrol etmek için özel özellikler kullanılır ve zaten oturum açmış kullanıcılar için sayfa
onload
etkinliği kullanıcı kimlik bilgilerini döndürür. Oturum açmak ve yeni bir oturum başlatmak için kullanıcı etkileşimi gereklidir.Kitaplık başlatma,
platform.js
kitaplığı için bironload
etkinliği aracılığıyla yapılır ve düğmegapi.signin2.render
tarafından gösterilir.Oturum açma düğmesine basıldığında
auth2.signIn
adlı kullanıcı hareketi aranır.İkinci demoda, oturum açma düğmesinin görünümünü kontrol etmek için bir
<div>
öğesi, CSS stilleri ve özel bir grafik kullanılmıştır. Oturum açmak ve yeni bir oturum oluşturmak için kullanıcı etkileşimi gereklidir.Kitaplık başlatma işlemi, doküman yüklenirken
gapi.load
,gapi.auth2.init
vegapi.auth2.attachClickHandler
çağıran bir başlangıç işlevi kullanılarak yapılır.Bir kullanıcı hareketi (
<div>
öğesionclick
etkinliği), oturum açma sırasındaauth2.attachClickHandler
veya oturumu kapatırkenauth2.signOut
kullanarakauth2.signIn
öğesini çağırır.Kullanıcının oturum durumunu izleme
Bu demoda kullanıcının oturum açması ve oturumu kapatması için düğmeye basma kullanılıyor. Oturum açmak ve yeni bir oturum oluşturmak için kullanıcı etkileşimi gereklidir.
Kitaplık başlatma işlemi,
script src
kullanılarakplatform.js
yüklendikten sonragapi.load
,gapi.auth2.init
vegapi.auth2.attachClickHandler()
çağrıları doğrudan yapılarak yapılır.Bir kullanıcı hareketi (
<div>
öğesionclick
etkinliği), oturum açma sırasındaauth2.attachClickHandler
veya oturumu kapatırkenauth2.signOut
kullanarakauth2.signIn
öğesini çağırır.-
Bu demoda, ek OAuth 2.0 kapsamı istemek, yeni bir erişim jetonu almak ve oturum açmış olan kullanıcılar için sayfa
onload
etkinliği kullanıcı kimlik bilgilerini döndürmek amacıyla bir düğmeye basma işlemi kullanılmıştır. Oturum açmak ve yeni bir oturum oluşturmak için kullanıcı etkileşimi gereklidir.Kitaplık başlatma işlemi,
gapi.signin2.render
çağrısı aracılığıylaplatform.js
kitaplığı içinonload
etkinliği tarafından yapılır.Bir
<button>
öğesinin tıklanması, oturum kapatılırkengoogleUser.grant
veyaauth2.signOut
kullanılarak ek OAuth 2.0 kapsamları için isteği tetikler. İşleyicileri kullanarak Google ile Oturum Açma'yı entegre etme
Bu demoda, oturum açmış kullanıcıların sayfa
onload
etkinliği kullanıcı kimlik bilgilerini döndürür. Oturum açmak ve yeni bir oturum başlatmak için kullanıcı etkileşimi gereklidir.Kitaplık başlatma işlemi, doküman yüklenirken
gapi.load
,gapi.auth2.init
vegapi.auth2.attachClickHandler
çağıran bir başlangıç işlevi kullanılarak yapılır. Ardındanauth2.isSignedIn.listen
veauth2.currentUser.listen
, oturum durumundaki değişikliklerle ilgili bildirimleri ayarlamak için kullanılır. Son olarak,auth2.SignIn
, oturum açmış kullanıcıların kimlik bilgilerini döndürmek için çağrılır.Bir kullanıcı hareketi (
<div>
öğesionclick
etkinliği), oturum açma sırasındaauth2.attachClickHandler
veya oturumu kapatırkenauth2.signOut
kullanarakauth2.signIn
öğesini çağırır.Sunucu tarafı uygulamalar için Google ile Oturum Açma
Bu demoda, OAuth 2.0 kimlik doğrulama kodu istemek için bir kullanıcı hareketi ve JS geri çağırması, yanıtı arka uç sunucusuna doğrulama için göndermek üzere bir AJAX çağrısı yapılmaktadır.
Kitaplık başlatma işlemi,
platform.js
kitaplığı için bironload
etkinliği kullanılarak yapılır. Bu etkinlik,gapi.load
vegapi.auth2.init
çağrılarını yapmak için bir başlatma işlevi kullanır.Bir
<button>
öğesini tıklayan kullanıcı hareketi,auth2.grantOfflineAccess
yöntemini çağırarak yetkilendirme kodu isteğini tetikler.-
FedCM, Android kullanıcıları halihazırda oturum açmış olsa bile, her tarayıcı örneği için tek seferlik izin verilmesini gerektirir.
Geçiş dönemini yönetme
Geçiş döneminde, oturum açan kullanıcıların belirli bir yüzdesi FedCM'yi kullanabilir. Bu oran, zaman içinde değişiklik gösterebilir. Varsayılan olarak, kaç oturum açma isteğinde FedCM'nin kullanıldığını Google kontrol eder. Ancak geçiş döneminde FedCM'yi kullanmayı etkinleştirebilir veya devre dışı bırakabilirsiniz. Geçiş döneminin sonunda FedCM zorunlu hale gelir ve tüm oturum açma istekleri için kullanılır.
Kaydolmayı seçmek, kullanıcıyı FedCM oturum açma akışı üzerinden gönderir. Devre dışı bırakmayı seçtiğinizde kullanıcılar ise mevcut oturum açma akışı üzerinden gönderilir. Bu davranış, use_fedcm
parametresi kullanılarak kontrol edilir.
Etkinleştir
Sitenizdeki oturum açma denemelerinin tamamının veya bir kısmının FedCM API'lerini kullanıp kullanmadığını kontrol etmek faydalı olabilir. Bunu yapmak için platform kitaplığını başlatırken use_fedcm
öğesini true
olarak ayarlayın. Bu durumda, kullanıcı oturum açma isteği FedCM API'lerini kullanır.
Devre dışı bırakma
Geçiş dönemi boyunca, sitenizde kullanıcı oturum açma denemelerinin belirli bir yüzdesi varsayılan olarak FedCM API'lerini kullanacaktır. Uygulamanızda değişiklik yapmak için daha fazla zamana ihtiyacınız olursa FedCM API'lerini geçici olarak devre dışı bırakabilirsiniz. Bunu yapmak için platform kitaplığını başlatırken use_fedcm
değerini false
olarak ayarlayın. Bu durumda, kullanıcı oturum açma isteği FedCM API'lerini kullanmaz.
Zorunlu benimsendikten sonra use_fedcm
ayarları Google ile Oturum Açma platform kitaplığı tarafından yoksayılır.
Yardım alın
google-signin etiketini kullanarak StackOverflow'da arama yapabilir veya soru sorabilirsiniz.