Web için Google ile Oturum Açma JavaScript Platformu Kitaplığı'nı kullanımdan kaldırıyoruz. Kitaplık, 31 Mart 2023'te kullanımdan kaldırılan tarihten sonra indirilemeyecek. Bunun yerine, Web için yeni Google Kimlik Hizmetleri'ni kullanın.
Yeni oluşturulan İstemci Kimliklerinin artık varsayılan olarak eski Platform Kitaplığı'nı kullanması engellendi. Mevcut İstemci Kimlikleri bundan etkilenmeyecektir. 29 Temmuz 2022'den önce oluşturulan yeni İstemci Kimlikleri, Google Platform Kitaplığı'nın kullanımını etkinleştirmek üzere `plugin_name` ayarını yapabilir.

Google Sign-In'i web uygulamanıza entegre etme

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Google Sign-In, OAuth 2.0 akışını ve belirteç yaşam döngüsünü yöneterek Google API'leriyle entegrasyonunuzu basitleştirir. Bir kullanıcının her zaman bir uygulamaya erişimini istediği zaman iptal etme seçeneği vardır.

Bu belge, temel bir Google Oturum Açma entegrasyonunun nasıl tamamlanacağını açıklar.

Yetkilendirme kimlik bilgileri oluşturun

Google API'lerine erişmek için OAuth 2.0 kullanan tüm uygulamalar, uygulamayı Google'ın OAuth 2.0 sunucusuna tanımlayan yetkilendirme kimlik bilgilerine sahip olmalıdır. Aşağıdaki adımlar, projeniz için kimlik bilgilerinin nasıl oluşturulacağını açıklamaktadır. Uygulamalarınız, o proje için etkinleştirdiğiniz API'lere erişmek için kimlik bilgilerini kullanabilir.

  1. Go to the Credentials page.
  2. Kimlik bilgileri oluştur > OAuth istemci kimliği 'ni tıklayın.
  3. Web uygulaması uygulama türünü seçin.
  4. OAuth 2.0 istemcinizi adlandırın ve Oluştur'a tıklayın

Yapılandırma tamamlandıktan sonra oluşturulan istemci kimliğini not alın. Sonraki adımları tamamlamak için müşteri kimliğine ihtiyacınız olacak. (Bir istemci gizli anahtarı da oluşturulur, ancak buna yalnızca sunucu tarafı işlemleri için ihtiyacınız vardır.)

Google Platform Kitaplığını Yükleyin

Google Sign-In'i entegre eden web sayfalarınıza Google Platform Kitaplığı'nı eklemelisiniz.

<script src="https://apis.google.com/js/platform.js" async defer></script>

Uygulamanızın müşteri kimliğini belirtin

Google Developers Console'da uygulamanız için oluşturduğunuz müşteri kimliğini google-signin-client_id meta öğesiyle belirtin.

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">

Google Oturum Açma düğmesi ekleyin

Sitenize bir Google Oturum Açma düğmesi eklemenin en kolay yolu, otomatik olarak oluşturulmuş bir oturum açma düğmesi kullanmaktır. Yalnızca birkaç satır kodla, kullanıcının oturum açma durumu ve talep ettiğiniz kapsamlar için uygun metne, logoya ve renklere sahip olacak şekilde kendini otomatik olarak yapılandıran bir düğme ekleyebilirsiniz.

Varsayılan ayarları kullanan bir Google Oturum Açma düğmesi oluşturmak için oturum açma sayfanıza g-signin2 sınıfına sahip bir div öğesi ekleyin:

<div class="g-signin2" data-onsuccess="onSignIn"></div>

Profil bilgilerini al

Varsayılan kapsamları kullanarak bir kullanıcıyla Google'da oturum açtıktan sonra, kullanıcının Google kimliğine, adına, profil URL'sine ve e-posta adresine erişebilirsiniz.

Bir kullanıcının profil bilgilerini almak için getBasicProfile() yöntemini kullanın.

function onSignIn(googleUser) {
  var profile = googleUser.getBasicProfile();
  console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
  console.log('Name: ' + profile.getName());
  console.log('Image URL: ' + profile.getImageUrl());
  console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
}

Bir kullanıcının oturumunu kapat

Sitenize bir çıkış düğmesi veya bağlantı ekleyerek, kullanıcıların Google'dan çıkış yapmadan uygulamanızdan çıkış yapmalarını sağlayabilirsiniz. Oturum kapatma bağlantısı oluşturmak için bağlantının onclick olayına GoogleAuth.signOut() yöntemini çağıran bir işlev ekleyin.

<a href="#" onclick="signOut();">Sign out</a>
<script>
  function signOut() {
    var auth2 = gapi.auth2.getAuthInstance();
    auth2.signOut().then(function () {
      console.log('User signed out.');
    });
  }
</script>