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_fedcmparametresiyle 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_fedcmdeğerinitrueolarak 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
metaetiketi 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.jsveyaplatform.jseklenerek 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:
- öğ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()'ninTrueolduğ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.comve - Ad;
api.js,client.jsveyaplatform.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-siteveyasame-originile kaynaklar arası politikalar geçerli olmaz ve değişiklik yapmanız gerekmez.- iFrame kullanılıyorsa
cross-sitedeğ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-srcveyaframe-srcyönergesinehttps://apis.google.com/js/,https://accounts.google.com/gsi/vehttps://acounts.google.com/o/fedcm/ekleme.script-srcyönergesinehttps://apis.google.com/js/bundle-name.jsekleme. Doküman isteklerinin kitaplık paketine görebundle-name.jsöğesiniapi.js,client.jsveyaplatform.jsile 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çinonloadetkinliğ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.loadvegapi.auth2.inityöntemini çağırang-signin2sınıfı tarafından yapılır.Bir kullanıcı hareketi,
<div>öğesionclicketkinliği, oturum açma sırasındaauth2.signInveya oturum kapatılırkenauth2.signOutyö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
onloadetkinliğ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.jskitaplığı için bironloadetkinliği aracılığıyla yapılır ve düğmegapi.signin2.rendertarafından gösterilir.Oturum açma düğmesine basıldığında
auth2.signInadlı 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.initvegapi.auth2.attachClickHandlerçağıran bir başlangıç işlevi kullanılarak yapılır.Bir kullanıcı hareketi (
<div>öğesionclicketkinliği), oturum açma sırasındaauth2.attachClickHandlerveya oturumu kapatırkenauth2.signOutkullanarakauth2.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 srckullanılarakplatform.jsyüklendikten sonragapi.load,gapi.auth2.initvegapi.auth2.attachClickHandler()çağrıları doğrudan yapılarak yapılır.Bir kullanıcı hareketi (
<div>öğesionclicketkinliği), oturum açma sırasındaauth2.attachClickHandlerveya oturumu kapatırkenauth2.signOutkullanarakauth2.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
onloadetkinliğ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.jskitaplığı içinonloadetkinliği tarafından yapılır.Bir
<button>öğesinin tıklanması, oturum kapatılırkengoogleUser.grantveyaauth2.signOutkullanı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
onloadetkinliğ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.initvegapi.auth2.attachClickHandlerçağıran bir başlangıç işlevi kullanılarak yapılır. Ardındanauth2.isSignedIn.listenveauth2.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>öğesionclicketkinliği), oturum açma sırasındaauth2.attachClickHandlerveya oturumu kapatırkenauth2.signOutkullanarakauth2.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.jskitaplığı için bironloadetkinliği kullanılarak yapılır. Bu etkinlik,gapi.loadvegapi.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.grantOfflineAccessyö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.