Bu kılavuzda, FedCM API'lerinin Google ile Oturum Açma platform kitaplığı tarafından benimsenmesi ele alınmaktadır. Kitaplıkta geriye dönük uyumlu bir güncelleme için zaman çizelgesi ve sonraki adımlar, etki değerlendirmesi yapma ve kullanıcı oturum açma işleminin beklendiği gibi çalışmaya devam ettiğini doğrulama, gerekirse web uygulamanızı güncelleme talimatları gibi konular ele alınmaktadır. Geçiş dönemini yönetme seçenekleri ve yardım alma hakkında da bilgi verilmektedir.
Kitaplığın durumu
Yeni web uygulamalarının desteği sonlandırılan Google ile oturum açma platform kitaplığını kullanması engellenir. Kitaplığı kullanan uygulamalar ise bir sonraki duyuruya kadar kullanmaya devam edebilir. Kitaplığın kullanımdan kaldırılma tarihi henüz belirlenmedi. Daha fazla bilgi için Desteğin sonlandırılması ve kullanımdan kaldırılması başlıklı makaleyi inceleyin.
Geriye dönük uyumlu bir güncellemeyle Google ile oturum açma kitaplığına FedCM API'leri eklendi. Ç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 ve uygulama kodunda ve site yapılandırmasında değişiklik yapılmasını gerektirebilir.
Geçiş döneminde, FedCM API'lerinin kullanıcı oturum açma sırasında kullanılıp kullanılmayacağını bir yapılandırma seçeneği kontrol eder.
Geçiş döneminden sonra, FedCM API'leri Google ile oturum açma kitaplığını kullanan tüm web uygulamaları için zorunludur.
Zaman çizelgesi
Son güncelleme Eylül 2024
Kullanıcıların oturum açma davranışını etkileyen tarihler ve değişiklikler şunlardır:
- Mart 2023 Google ile Oturum Açma platform kitaplığı için desteğin sonlandırılması.
- Temmuz 2024 Geçiş dönemi başlar ve FedCM API'leri için Google ile oturum açma platform kitaplığı desteği eklenir. Varsayılan olarak Google, bu süre zarfında FedCM'yi kullanarak kullanıcı oturum açma isteklerinin yüzdesini kontrol eder. Web uygulamaları,
use_fedcm
parametresini kullanarak bu davranışı açıkça geçersiz kılabilir. - Google Sign-in platform kitaplığı tarafından FedCM API'lerinin Mart 2025'te zorunlu olarak benimsenmesi. Bu tarihten sonra
use_fedcm
parametresi yoksayılır ve tüm kullanıcı oturum açma istekleri FedCM'den yararlanır.
Sonraki adımlar
Uygulayabileceğiniz üç seçenek vardır:
- 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. Talimatlar bu kılavuzun bir sonraki bölümünde verilmiştir.
- Google Kimlik Hizmetleri (GIS) kitaplığına taşındı. En son ve desteklenen oturum açma kitaplığına geçmenizi önemle tavsiye ederiz. Bunu yapmak için bu talimatları uygulayın.
- Hiçbir işlem yapmamayı tercih edebilirsiniz. Google ile oturum açma kitaplığı, kullanıcı oturum açma için FedCM API'lerine taşındığında web uygulamanız otomatik olarak güncellenir. Bu yöntem en az çalışma gerektirir ancak 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 yapılması gerekip gerekmediğini belirlemek üzere 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'u en son sürüme güncelleyin. Android için Chrome, M128 veya sonraki sürümleri gerektirir ve önceki sürümler kullanılarak test edilemez.
chrome://flags
uygulamasını açın ve aşağıdaki özellikleri bu değerlere ayarlayın:- #fedcm-authz Etkin
- #tracking-protection-3pcd Etkin
- #third-party-cookie-deprecation-trial Devre dışı
- #tpcd-metadata-grants Devre dışı
- #tpcd-heuristics-grants Devre dışı
ve Chrome'u yeniden başlatın.
Web uygulamanızda Google ile oturum açma platform kitaplığını başlatırken
use_fedcm
değerinitrue
olarak ayarlayın. Başlatma işlemi genellikle şöyle görünür:gapi.client.init({use_fedcm: true})
veyagapi.auth2.init({use_fedcm: true})
veyagapi.auth2.authorize({use_fedcm: true})
.
Google ile oturum açma platform kitaplığının önbelleğe alınmış sürümlerini geçersiz kılabilirsiniz. Kitaplığın en son sürümü,
<script src>
etiketineapi.js
,client.js
veyaplatform.js
eklenerek doğrudan tarayıcıya indirildiğinden genellikle bu adım gerekmez (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 Yetkilendirilmiş JavaScript kaynakları'na dahil edildiğinden emin olun. 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 bir 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 nitelikli 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ınmış içerikleri veya çerezleri temizler.
- Kullanıcı oturum açma sayfanızı yükleyin ve oturum açmayı deneyin.
Bilinen sorunları tespit etmek ve düzeltmek için bu kılavuzun şu bölümlerindeki talimatları uygulayın:
Konsolda Google ile 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.
BasicProfile.getEmail()
işlevinin e-posta adresinizi döndürdüğünü veGoogleUser.isSignedIn()
değerininTrue
olduğunu onaylayarak oturumun başarıyla açıldığını doğrulayabilirsiniz.
Google ile oturum açma kitaplık isteğini bulma
Google ile oturum açma platform kitaplığı için isteği inceleyerek permissions-policy ve İçerik Güvenliği Politikası değişikliklerinin gerekli olup olmadığını kontrol edin. Bunu yapmak 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
olmalıdır. Ad özelliğinin 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. Öyleyse güncelleme yapmanız gerekir.
Google ile oturum açma kitaplığı isteğini bulma talimatlarını uyguladıktan sonra DevTools Ağ panelinde Google ile 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. Üstbilginin değeri şu şekildeyse:
same-site
veyasame-origin
ise kökler arası politikalar geçerli değildir ve değişiklik yapılması gerekmez.cross-origin
değişiklikleri gerekebilir.
Bir iframe olup olmadığını onaylamak 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 gapi.auth2 işlevlerine veya iframe içinde Google ile oturum açma kitaplığını yükleyen script src
yönergelerine yönelik çağrıları kontrol etmek için dokümanı inceleyin. Böyle bir durumda:
allow="identity-credentials-get"
izin politikasını üst iframe'e 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
Sitenizde İçerik Güvenliği Politikası kullanılıyorsa Google ile oturum açma kitaplığının kullanımına izin vermek için İGP'nizi güncellemeniz gerekebilir.
Google ile Oturum Açma kitaplığı isteğini bulma talimatlarını uyguladıktan sonra Geliştirici Araçları Ağ panelinde Google ile 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.
Başlık bulunamazsa herhangi bir değişiklik yapmanız gerekmez. Aksi takdirde, bu CSP yönergelerinden herhangi birinin CSP başlığında tanımlanıp tanımlanmadığını kontrol edin ve aşağıdakileri yaparak güncelleyin:
connect-src
,default-src
veyaframe-src
yönergelerinehttps://apis.google.com/js/
,https://accounts.google.com/gsi/
vehttps://acounts.google.com/o/fedcm/
eklemescript-src
yönergesinehttps://apis.google.com/js/bundle-name.js
ekleme.bundle-name.js
değerini, doküman isteklerinin kitaplık paketine göreapi.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 bir modal iletişim kutusu ekler ve kullanıcı etkinleştirme koşullarını günceller.
Modal iletişim kutusu
Temel içeriğin, tarayıcının modal iletişim kutusu tarafından güvenli bir şekilde örtülebildiğini ve geçici olarak gizlenebileceğini doğrulamak için sitenizin düzenini inceleyin. Aksi takdirde, web sitenizdeki bazı öğelerin 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ı bir web uygulamasında ilk kez yeni bir tarayıcı örneği kullanarak oturum açtığında veya
GoogleAuth.signIn
çağrılır.
Günümüzde, kullanıcı web sitenizde daha önce oturum açtıysa 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ı en az bir kez FedCM oturum açma akışında bulunmadığı sürece bu artık mümkün değildir.
FedCM'yi etkinleştirip GoogleAuth.signIn
'ü çağırarak, aynı kullanıcı web sitenizi bir sonraki ziyaret ettiğinde gapi.auth2.init
, kullanıcı etkileşimi olmadan başlatma sırasında kullanıcının oturum açma bilgilerini edinebilir.
Yaygın kullanım örnekleri
Google Sign-In kitaplığıyla ilgili geliştirici dokümanları, yaygın kullanım alanlarına yönelik kılavuzlar ve kod örnekleri içerir. Bu bölümde, FedCM'nin kullanıcıların davranışlarını nasıl etkilediği ele alınmaktadır.
Google ile oturum açma özelliğini web uygulamanıza entegre etme
Bu demo'da düğmeyi bir
<div>
öğesi ve sınıfı oluşturur. Zaten oturum açmış kullanıcılar için sayfaonload
etkinliği, kullanıcı kimlik bilgilerini döndürür. Oturum açmak ve yeni bir oturum oluşturmak için kullanıcı etkileşimi gereklidir.Kitaplık ilklendirmesi,
gapi.load
vegapi.auth2.init
sınıflarını çağırang-signin2
sınıfı tarafından yapılır.Bir kullanıcı hareketi, bir
<div>
öğesionclick
etkinliği, oturum açma sırasındaauth2.signIn
veya oturum kapatılırkenauth2.signOut
komutunu ç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 oluşturmak için kullanıcı etkileşimi gerekir.Kitaplık ilk başlatılması,
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 denemede, oturum açma düğmesinin görünümünü kontrol etmek için bir
<div>
öğesi, CSS stilleri ve özel bir grafik kullanılı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
'yi çağıran bir başlangıç işlevi kullanılarak yapılır.Kullanıcı hareketi (
<div>
öğesionclick
etkinliği), oturum açma sırasındaauth2.attachClickHandler
'ı veya oturum kapatma sırasındaauth2.signOut
'ı kullanarakauth2.signIn
'yi çağırır.Kullanıcının oturum durumunu izleme
Bu demo'da, kullanıcının oturum açması ve kapatması için bir düğmeye basılması gerekir. Oturum açmak ve yeni bir oturum oluşturmak için kullanıcı etkileşimi gerekir.
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.Kullanıcı hareketi (
<div>
öğesionclick
etkinliği), oturum açma sırasındaauth2.attachClickHandler
'ı veya oturum kapatma sırasındaauth2.signOut
'ı kullanarakauth2.signIn
'yi çağırır.-
Bu demo'da, ek OAuth 2.0 kapsamları istemek ve yeni bir erişim jetonu almak için bir düğmeye basılır. 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 oluşturmak için kullanıcı etkileşimi gerekir.Kitaplık ilk başlatılması,
platform.js
kitaplığı içinonload
etkinliği tarafındangapi.signin2.render
çağrısı üzerinden yapılır.Bir
<button>
öğesini tıklayan kullanıcı hareketi, oturum kapatma sırasındagoogleUser.grant
veyaauth2.signOut
kullanılarak ek OAuth 2.0 kapsamları için istek tetikler. İşleyicileri kullanarak Google ile Oturum Açma'yı entegre etme
Bu demo'da, 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 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ından, oturum durumundaki değişikliklerle ilgili bildirim ayarlamak içinauth2.isSignedIn.listen
veauth2.currentUser.listen
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 demo'da, OAuth 2.0 kimlik doğrulama kodu istemek için bir kullanıcı hareketi kullanılır ve JS geri çağırma işlevi, yanıtı doğrulama için arka uç sunucuya göndermek üzere bir AJAX çağrısı yapar.
Kitaplık ilk başlatılması,
platform.js
kitaplığı için bironload
etkinliği kullanılarak yapılır. Bu etkinlik,gapi.load
vegapi.auth2.init
'ı çağırmak için bir başlangıç 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, kullanıcı oturum açma işlemlerinin bir yüzdesi FedCM'yi kullanabilir. Kesin yüzde değişiklik gösterebilir ve zaman içinde değişebilir. Varsayılan olarak, Google kaç oturum açma isteği için FedCM'yi kullanacağını kontrol eder. Ancak geçiş döneminde FedCM'yi etkinleştirmeyi veya devre dışı bırakmayı seçebilirsiniz. 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 girişimlerinin tümünün veya bazılarının FedCM API'lerini kullanıp kullanmadığını kontrol etmek yararlı olabilir. Bunu yapmak için platform kitaplığını başlatırken use_fedcm
değerini 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, sitenizdeki kullanıcı oturum açma denemelerinin bir yüzdesi varsayılan olarak FedCM API'lerini kullanı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 kullanımdan sonra Google ile oturum açma platform kitaplığı, use_fedcm
ayarlarını yoksayar.
Yardım alın
google-signin etiketini kullanarak Stack Overflow'da arama yapın veya soru sorun.