FedCM API'leriyle Google ile Oturum Açma

.

Bu kılavuzda, üçüncü taraf çerezlerine yönelik desteğin sonlandırılmasının Google Oturum açma platform kitaplığı. Konular arasında Zaman Çizelgesi ve Kitaplığa geriye dönük uyumlu güncelleme için Sonraki Adımlar. Güncelleme: Etki değerlendirmesi yapın ve kullanıcının oturum açmasının şu işlemleri yapmaya devam ettiğini doğrulayın: web uygulamanızı güncelleme talimatlarını da içeren bir ekran görüntüsü eklemeniz gerekir. Geçiş dönemini yönetme ve Yardım alma seçenekleri da ele alınacaktır.

Kitaplığın durumu

Yeni web uygulamalarının, kullanımdan kaldırılan Google ile Oturum Açma platformunu kullanması engellenir. kitaplığını kullanan uygulamalar bir sonraki bildirime kadar devam edebilir. CEVAP kütüphanenin nihai kullanımdan kaldırılma tarihi (kapanma) henüz belirlenmemiştir. Daha fazla bilgi için Desteğin sonlandırılması ve desteğin sonlandırılması başlıklı makaleyi inceleyin.

Chrome'un Özel Korumalı Alan'daki üçüncü taraf çerezlerini engellemesi web uygulamalarını etkiler Google ile Oturum Açma platform kitaplığını kullanan kitleleri keşfedin. Mevcut davranışı korumak için üçüncü taraf çerezlerini kullanmayı gerektirmeden geriye dönük uyumlu bir güncelleme bu kitaplığa FedCM API'lerini ekler. Çoğu değişiklik sorunsuz olsa da güncelleme kullanıcı izni istemlerinde, iframe'de farklılıklara yol açıyor permissions-policy ve İçerik Güvenliği Politikası'nı (İGP) destekler. Bu değişiklikler web uygulamanızı etkileyebilir ve uygulama kodunda ve sitesinde değişiklik yapılmasını gerektirebilir yapılandırma.

Geçiş döneminde, bir yapılandırma seçeneği kullanılarak Kullanıcı oturum açarken FedCM API'leri kullanılır.

Zaman çizelgesi

Son güncelleme tarihi: Temmuz 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 platformu için desteğin sonlandırılması kitaplığını açar.
  • Ocak 2024 Chrome, üçüncü taraf çerezlerinin% 1'ini engelliyor. platform kitaplığına, üçüncü taraf çerezine yönelik geçici bir istisna verildi sonlanan deneme ile engelleme yapabilirsiniz.
  • Temmuz 2024'te geçiş dönemi başlar ve Google ile Oturum Açma platform kitaplığı FedCM API'leri için destek eklendi. Varsayılan olarak, Google'ın oranında kullanıcı oturum açma isteği gönderdi. Web uygulamaları bu davranışı use_fedcm parametresiyle açıkça geçersiz kılın.
  • FedCM API'lerinin Google tarafından zorunlu olarak benimsenmesi (belirlenecek tarih) Ardından, use_fedcm parametresi yok sayılan oturum açma platform kitaplığı ve tüm kullanıcı oturum açma istekleri FedCM'den yararlanır.

FedCM API'lerine taşındıktan sonra Google ile Oturum Açma platform kitaplığı kullanımdan kaldırıldı. üçüncü taraf çerezlerinin engellenmesinden etkilenir. Üçüncü taraf çereziyle ilgili güncellemeler için engelleme için Chrome'un Özel Korumalı Alan zaman çizelgesine bakın.

Sonraki adımlar

Uygulayabileceğiniz üç seçenek var:

  1. Etki değerlendirmesi yapın ve gerekirse web uygulamanızı güncelleyin. Bu yaklaşım, web uygulamanızda değişiklik gerektiren özelliklerin kullanım durumu. Bu kılavuzun bir sonraki bölümünde talimatlar verilmiştir.
  2. Google Kimlik Hizmetleri (GIS) kitaplığına taşıyın. En yeni ve en güncel oturum açma kitaplığının kullanılmasını önemle tavsiye ederiz. Bunu yapmak için bu talimatları uygulayın.
  3. Hiçbir işlem yapmamayı tercih edebilirsiniz. Aşağıdaki işlemler gerçekleştirildiğinde web uygulamanız otomatik olarak güncellenecektir: Google ile Oturum Açma kitaplığı, kullanıcıların oturum açması için FedCM API'lerine taşınıyor. Bu, ancak kullanıcıların oturum açamama riski vardır. web uygulamanız.

Etki değerlendirmesi yapın

Web uygulamanızın sorunsuz bir şekilde güncellenip güncellenemeyeceğini belirlemek için bu talimatları uygulayın geriye dönük uyumlu bir güncelleme yaparak veya hatalardan kaçınmak için değişikliklerin gerekli olup olmadığını Google ile Oturum Açma platform kitaplığı tam olarak dolduğunda oturum açamaması FedCM API'lerini kullanıyor.

Kurulum

Tarayıcı API'leri ve Google ile Oturum Açma platform kitaplığının en son sürümü: kullanıcı oturum açma sırasında FedCM'yi kullanmak için 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 bir sürümü 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:

    • Siteniz İçerik Güvenliği Politikası kullanıyorsa #fedcm-authz Etkin https://accounts.google.com/gsi/ottoken adlı bir engeli olan kısmını engeller.
    • #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.

  • Google ile Oturum Açma platformunu başlatırken use_fedcm değerini true olarak ayarlayın kullanabilirsiniz. İlk kullanıma hazırlama işlemi genellikle şu şekilde yapılır:

    • gapi.client.init({use_fedcm: true}) veya
    • gapi.auth2.init({use_fedcm: true}) veya
    • gapi.auth2.authorize({use_fedcm: 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ü olduğundan bu adım genellikle gerekli değildir. api.js, client.js veya <script src> etiketindeki platform.js (istek, bunlardan herhangi birini kullanabilir paket adları için de ekleyebilirsiniz).

  • OAuth istemci kimliğiniz için OAuth ayarlarını onaylayın:

    1. Google API Consoleöğesinin Kimlik bilgileri sayfasını açın
    2. Web sitenizin URI'sinin şuraya eklendiğini doğrulayın: Yetkili JavaScript kaynakları. URI, şemayı ve yalnızca tam ana makine adı. Örneğin, https://www.example.com.

    3. İsteğe bağlı olarak, kimlik bilgileri bir uç noktaya yönlendirme kullanılarak döndürülebilir. bir web sitesi tarafından sağlandığından emin olun. Böyle bir 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 uymalıdır. Örneğin, https://www.example.com/auth-receiver

Test

Kurulumdaki talimatları uyguladıktan sonra:

Google ile Oturum Açma kitaplık isteğini bulma

permissions-policy ve İçerik Güvenliği Politikası değişikliklerinin Google ile Oturum Açma platform kitaplığı isteğini inceleyerek gereklidir. Bunun için kitaplığın adını ve kaynağını kullanarak isteği bulun:

  • Chrome'da, Geliştirici Araçları panelini açıp sayfayı yeniden yükleyin.
  • Kitaplığı bulmak için Alan ve Ad sütunlarındaki değerleri kullanın istek:
    • Alan adı: apis.google.com ve
    • Ad; api.js, client.js veya platform.js. Belirli Name değeri, doküman tarafından istenen kitaplık paketine bağlıdır.

Örneğin, Alan sütununda apis.google.com ile filtreleme yapın ve Ad sütununda platform.js görünür.

iframe izinleri politikasını kontrol edin

Siteniz, Google ile Oturum Açma platform kitaplığını bir çapraz kaynak içinde kullanıyor olabilir iframe'dir. Böyle bir durum söz konusuysa bir güncelleme yapılması gerekir.

Google ile Oturum Açma kitaplığı isteğini bulma talimatlarını uyguladıktan sonra Talimatlar için Geliştirici Araçları'nda Google ile Oturum Açma kitaplık isteğini seçin paneline gidin ve Sec-Fetch-Site Headers (Başlıklar) sekmesindeki Request Headers (Başlıklar İste) bölümü. Başlığın değeri şununla eşleşir:

  • same-siteveya same-origin, kaynaklar arası politikalar uygulanmaz ve hayır gerekiyor.
  • iFrame kullanılıyorsa cross-origin 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, gapi.auth2 çağrılarını kontrol etmek için dokümanı inceleyin işlevleri veya Google ile Oturum Açma kitaplığını yükleyen script src yönergeleri kullanabilirsiniz. Böyle bir durumda:

Dokümandaki her iframe için bu işlemi tekrarlayın. iframe'ler iç içe yerleştirilebilir, bu nedenle allow yönergesini etrafındaki tüm üst iframe'lere eklediğinizden emin olun.

İçerik Güvenliği Politikası'nı Kontrol Edin

Siteniz İçerik Güvenliği Politikası kullanıyorsa İGP'nizi Google ile Oturum Açma kitaplığının kullanımına izin verme

Google ile Oturum Açma kitaplığı isteğini bulma talimatlarını uyguladıktan sonra Talimatlar için Geliştirici Araçları'nda Google ile Oturum Açma kitaplık isteğini seçin paneline gidin ve Content-Security-Policy Başlıklar sekmesinin Yanıt Başlıkları bölümü.

Üstbilgi bulunamazsa herhangi bir değişiklik gerekmez. Aksi durumda Bu CSP yönergeleri CSP başlığında tanımlanır ve şu şekilde güncellenir:

  • https://apis.google.com/js/, https://accounts.google.com/gsi/, ve https://acounts.google.com/o/fedcm/ herhangi bir connect-src için default-src veya frame-src yönergeleri.

  • https://apis.google.com/js/bundle-name.js koleksiyonuna, script-src alanına ekleniyor yönergesini inceleyin. bundle-name.js öğesini api.js, client.js veya platform.js, doküman isteklerini kitaplığa göre gruplandırır.

Kullanıcı istemi değişikliklerini kontrol etme

Kullanıcı istemi davranışında bazı farklılıklar vardır. FedCM, kalıcı bir iletişim kutusu ekler ve kullanıcı etkinleştirme gereksinimlerini günceller.

FedCM kalıcı iletişim kutusunun resmi

Temel içeriğin olabileceğini onaylamak için sitenizin düzenini inceleyin Güvenli bir şekilde yer paylaşımlı olarak olmalı ve tarayıcının kalıcı iletişim kutusu tarafından geçici olarak engellenmelidir. Bu bazı öğelerin düzenini veya konumunu ayarlamanız gerekebilir. bir etikettir.

Kullanıcı etkinleştirme

FedCM, güncellenmiş kullanıcı etkinleştirme koşullarını içerir. Bir düğmeye bastığınızda veya Bir bağlantıyı tıklamak, üçüncü taraf kaynaklarına izin veren kullanıcı hareketlerine örnektir ağ isteklerinde bulunmayı veya veri depolamayı kolaylaştırır. FedCM ile tarayıcı şu bilgileri ister: aşağıdaki durumlarda kullanıcı rızası alın:

  • 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 Google Oturum Açma kitaplığını başlatırken kullanıcının oturum açma bilgileri (başka kullanıcı etkileşimi olmadan gapi.auth2.init kullanarak).

Üçüncü Taraf Çerezlerine Yönelik Desteğin Sonlandırılması nedeniyle, Kullanıcı ilk olarak en az bir kez FedCM oturum açma akışından geçmiş olmalıdır.

FedCM'yi etkinleştirip GoogleAuth.signIn numaralı telefonu arayarak bir dahaki sefere Kullanıcı web sitenizi ziyaret ettiğinde, gapi.auth2.init kullanıcının oturum açma bilgilerini alabilir. kullanıcı etkileşimi olmadan başlatma sırasında kullanılabilecek bilgiler içerir.

Yaygın kullanım örnekleri

Google ile Oturum Açma kitaplığıyla ilgili geliştirici dokümanlarında kılavuzlar ve kod bulunur örnekler sunar. Bu bölümde, FedCM'nin gösterir.

  • Google ile Oturum Açma'yı web uygulamanıza entegre etme

    Bu demo düğme bir <div> öğesi ile bir sınıf tarafından oluşturulur ve oturum açmış kullanıcılar için onload sayfası etkinliği kullanıcıyı döndürür. kimlik bilgileri. Oturum açmak ve yeni bir kabul edilir.

    Kitaplık başlatma işlemi, çağrı yapan g-signin2 sınıfı tarafından yapılır gapi.load ve gapi.auth2.init.

    Bir kullanıcı hareketi, <div> öğesi onclick etkinliği, auth2.signIn öğesini çağırıyor veya oturum kapalıyken auth2.signOut.

  • Özel bir Google ile Oturum Açma düğmesi oluşturma

    Birinci demoda, özel özellikler kullanılan öğelerin görünümünü oturum açma düğmesini ve oturum açmış kullanıcılar için sayfa onload etkinliğini kullanıcı kimlik bilgilerini döndürür. Oturum açmak ve oturum açmak için kullanıcı etkileşimi gereklidir yeni bir oturum açmanız gerekir.

    Kitaplık başlatma, şu öğe için bir onload etkinliği aracılığıyla yapılır: platform.js kitaplığı ve düğme gapi.signin2.render tarafından gösteriliyor.

    Oturum açma düğmesine basıldığında auth2.signIn adlı kullanıcı hareketi aranır.

    İkinci demoda bir <div> öğesi, CSS stilleri ve bir özel grafik oturum açma düğmesinin görünümünü kontrol etmek için kullanılır. Kullanıcı etkileşimi oturum açmak ve yeni bir oturum oluşturmak için gereken tüm adımları içerir.

    Kitaplık başlatma, doküman yüklemesinde bir başlatma işlevi kullanılarak yapılır gapi.load, gapi.auth2.init ve gapi.auth2.attachClickHandler.

    Bir kullanıcı hareketi, <div> öğesi onclick etkinliği, auth2.signIn öğesini çağırıyor oturum açarken auth2.attachClickHandler cihazını veya şurada auth2.signOut kullanarak: oturumu kapatın.

  • Kullanıcının oturum durumunu izleme

    Bu demo 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, doğrudan gapi.load çağrısı yapılarak yapılır. gapi.auth2.init ve sonrasında gapi.auth2.attachClickHandler() platform.js, script src kullanılarak yüklendi.

    Bir kullanıcı hareketi, <div> öğesi onclick etkinliği, auth2.signIn öğesini çağırıyor oturum açarken auth2.attachClickHandler cihazını veya şurada auth2.signOut kullanarak: oturumu kapatın.

  • Ek izin isteme

    Bu demo ek OAuth 2.0 istemek için düğmeye basma kullanılır yeni bir erişim jetonu alın ve oturum açmış olan kullanıcılar için sayfa onload etkinliği, kullanıcı kimlik bilgilerini döndürüyor. Kullanıcı etkileşimi gereklidir oturum açmanızı ve yeni bir oturum açmanızı öneririz.

    Kitaplık başlatma işlemi, içeriğe ait onload etkinliği tarafından gapi.signin2.render için yapılan çağrıyla platform.js kitaplığı.

    Bir <button> öğesini tıklayan kullanıcı hareketi şunun için isteği tetikler: googleUser.grant veya auth2.signOut kullanan ek OAuth 2.0 kapsamları dokunun.

  • Dinleyicileri kullanarak Google ile Oturum Açma özelliğini entegre etme

    Bu demo, oturum açmış kullanıcılar için sayfa onload etkinliği kullanıcı kimlik bilgilerini döndürür. Oturum açmak ve oturum açmak için kullanıcı etkileşimi gereklidir yeni bir oturum açmanız gerekir.

    Kitaplık başlatma, doküman yüklemesinde bir başlatma işlevi kullanılarak yapılır gapi.load, gapi.auth2.init ve gapi.auth2.attachClickHandler. Sonraki, auth2.isSignedIn.listen ve auth2.currentUser.listen, oturum durumu. Son olarak auth2.SignIn, şuna ait kimlik bilgilerini döndürmek için çağrılır: oturum açmış kullanıcılardır.

    Bir kullanıcı hareketi, <div> öğesi onclick etkinliği, auth2.signIn öğesini çağırıyor oturum açarken auth2.attachClickHandler cihazını veya şurada auth2.signOut kullanarak: oturumu kapatın.

  • Sunucu tarafı uygulamalar için Google ile Oturum Açma

    Bu demo OAuth 2.0 yetkilendirme kodu istemek için kullanıcı hareketi kullanılır ve bir JS geri çağırması, yanıtı arka uca göndermek için bir AJAX çağrısı yapar sunucuyu kontrol edin.

    Kitaplık başlatma, platform.js için bir onload etkinliği kullanılarak yapılır başlangıç işlevini kullanan ve gapi.load ve gapi.auth2.init.

    Bir <button> öğesini tıklayan kullanıcı hareketi şunun için isteği tetikler: auth2.grantOfflineAccess numaralı telefonu arayarak bir yetkilendirme kodu alabilirsiniz.

  • Platformlar arası TOA

    FedCM, Android kullanıcıları olsa bile her tarayıcı örneği için izin gerektirir oturum açmış olmanız gerekiyorsa tek seferlik izin alınması gerekir.

Geçiş dönemini yönetme

Geçiş döneminde, oturum açan kullanıcıların belirli bir yüzdesi FedCM'yi kullanabilir. kesin yüzde değişebilir ve zaman içinde değişebilir. Varsayılan olarak Google oturum açma isteğinde bulunsa da FedCM\'yi etkinleştirebilir veya devre dışı bırakabilirsiniz. FedCM'yi kullanmaya başladınız. Geçiş döneminin sonunda FedCM zorunlu hale gelir ve tüm oturum açma istekleri için kullanılır.

Kaydolmayı seçtiğinizde kullanıcı, FedCM oturum açma akışı üzerinden gönderilir. kullanıcıları mevcut oturum açma akışı üzerinden gönderir. Bu davranış, use_fedcm parametresi kullanılarak kontrol edilir.

Etkinleştir

Chrome hesabınızda oturum açma girişimlerinin hepsinin veya bir kısmının FedCM API'lerini kullanıyor. Bunu yapmak için ilk kullanıma hazırlarken use_fedcm ayarını true yapın emin olun. Bu durumda, kullanıcı oturum açma isteği FedCM API'lerini kullanır.

Devre dışı bırakma

Geçiş döneminde, kullanıcıların belirli bir yüzdesi sitenizde oturum açmayı dener varsayılan olarak FedCM API'lerini kullanacaktır. Hesabınızda değişiklik yapmak için daha fazla uygulamasında, FedCM API'lerini kullanmayı geçici olarak devre dışı bırakabilirsiniz. Bunun için, Platform kitaplığı başlatılırken false öğesine use_fedcm. Kullanıcının oturum açması isteği, bu durumda FedCM API'lerini kullanmaz.

Zorunlu benimsenme yapıldıktan sonra tüm use_fedcm ayarları Google ile Oturum Açma platform kitaplığı.

Yardım alın

google-signin etiketini kullanarak StackOverflow'da arama yapabilir veya soru sorabilirsiniz.