25 Mart 2015 Çarşamba

Facebook login

Artık uygulamalarda login işlemini facebook ile yapabiliyoruz.
Bu gidişle internette sadece facebook hesabı ile her yere giriş yapacağız.
Facebook Platform Product Manager'ın videosunda yeni nesil facebook login işlemi hakkında bilgi edinebiliriz:



Ben de hem web hem de Android applerimde facebook girişi koymaya karar verdim.
Şimdi bunun için yapılması gerekenlere bakalım.

Facebook login işlemi için yapılacaklar


1. Facebook'ta bir developer olarak kayıt olup bir application yaratma.
2. Yaratılan application'ın API key ve password'ünü alma.
3. Bu API key ve password ile authorization işlemini yapma.
4. Login butonu yaratma
5. Login butonuna giriş işlemini tanımlama.
Bu son aşama iki türlü halledilebiliyor:

Facebook SDK ile giriş


Benim tercihim kolaylığı yüzünden bu oldu.
Facebook developers sayfasındaki dokümanlardan standart facebook login butonunu javascript koduyla web application'daki giriş sayfasına ekleyelim.
<div class="fb-login-button" data-max-rows="1" data-size="medium" data-show-faces="true" data-auto-logout-link="true"></div>

Yine javascript koduyla facebook giriş fonksiyonunu kopyala-yapıştır yapalım.
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/tr_TR/sdk.js#xfbml=1&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

Login işlemini test etme


Facebook app'inizi test etmek isterseniz test application yaratmak mümkün.
Bu test appi belirli bir url vererek dilediğimiz platformda kullanabiliyoruz.

Facebook girişini localhost'tan test ederken, url'yi localhost olarak belirtmezsek hata veriyor:
Uygulama yapılandırması verilen URL'ye izin vermiyor.: Uygulamanın ayarları verilen URL'lerden bir veya daha fazlasına izin vermiyor. URL'ler İnternet Sitesinin URL'si ve Kanvas URL'si olmalıdır veya domain ygulamanın domainlerinden birinin altdomaini olmalıdır.

Facebook SDK olmadan giriş


Bir diğer yöntem de server-side olarak giriş kodunu kendi yazmak isteyenler için mevcut.
Ben vakit kaybetmemek için bu yöntemi tercih etmedim.


Kaynaklar


https://developers.facebook.com/products/login/
https://developers.facebook.com/docs/facebook-login/android/v2.2
https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.2
http://www.adfkickstart.com/facebook-user-authentication-in-java-web-application
https://gardiary.wordpress.com/2013/03/21/facebook-login-example-in-java/
http://www.richardnichols.net/2010/06/implementing-facebook-oauth-2-0-authentication-in-java/
http://javapapers.com/java/java-facebook-login-with-oauth-authentication/

http://stackoverflow.com/questions/21295872/facebook-app-localhost-no-longer-works-as-app-domain

Hiç yorum yok:

Yorum Gönder