Google ile oturum açma, OAuth 2.0 akışını ve jeton yaşam döngüsünü yöneterek Google API'leriyle entegrasyonunuzu kolaylaştırır. Kullanıcılar diledikleri zaman bir uygulamaya erişimi iptal edebilir.
Bu dokümanda, temel bir Google ile oturum açma entegrasyonunun nasıl tamamlanacağı açıklanmaktadır.
Yetkilendirme kimlik bilgileri oluşturma
Google API'lerine erişmek için OAuth 2.0 kullanan tüm uygulamalarda, uygulamayı Google'ın OAuth 2.0 sunucusunda tanımlayan yetkilendirme kimlik bilgileri bulunmalıdır. Aşağıdaki adımlarda, projeniz için kimlik bilgilerinin nasıl oluşturulacağı açıklanmaktadır. Ardından, uygulamalarınız bu proje için etkinleştirdiğiniz API'lere erişmek üzere kimlik bilgilerini kullanabilir.
- Go to the Credentials page.
- Kimlik bilgisi oluştur > OAuth istemci kimliği seçeneğini tıklayın.
- Web uygulaması uygulama türünü seçin.
- OAuth 2.0 istemcinize ad verin ve Oluştur'u tıklayın.
Yapılandırma tamamlandıktan sonra oluşturulan istemci kimliğini not edin. Sonraki adımları tamamlamak için istemci kimliğine ihtiyacınız vardır. (Bir istemci gizli anahtarı da oluşturulur ancak buna yalnızca sunucu tarafı işlemler için ihtiyacınız vardır.)
Google Platform Kitaplığı'nı yükleme
Google ile oturum açma özelliğini entegre eden web sayfalarınıza Google Platform Kitaplığı'nı eklemeniz gerekir.
<script src="https://apis.google.com/js/platform.js" async defer></script>
Uygulamanızın istemci kimliğini belirtin
Google Developers Console'da uygulamanız için oluşturduğunuz istemci kimliğini google-signin-client_id
meta öğesiyle belirtin.
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
Google ile oturum açma düğmesi ekleme
Sitenize Google ile oturum açma düğmesi eklemenin en kolay yolu, otomatik olarak oluşturulan bir oturum açma düğmesi kullanmaktır. Yalnızca birkaç kod satırı kullanarak, kullanıcının oturum açma durumuna ve istediğiniz kapsamlara uygun metin, logo ve renklere sahip olacak şekilde otomatik olarak yapılandıran bir düğme ekleyebilirsiniz.
Varsayılan ayarları kullanan bir Google ile 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 alma
Varsayılan kapsamları kullanarak bir kullanıcının Google ile oturumunu 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.
}
Kullanıcının oturumunu kapatma
Sitenize oturum kapatma düğmesi veya bağlantısı ekleyerek kullanıcıların Google'da oturumlarını kapatmadan uygulamanızda oturumlarını kapatmalarını sağlayabilirsiniz. Oturum kapatma bağlantısı oluşturmak için bağlantının onclick
etkinliğine 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>