2012-08-07 15 views
11

Stackoverflowはさまざまな方法でウェブサイトにログインします。 Facebookのログイン情報自分のウェブサイトにFacebookのログインを追加するには?

Facebookのソーシャルプラグイン(social pluginsを参照)を使用すると、好きなボタンやFacebookのログインを追加できます。しかし、それはstackoverflowによって管理されてどのようにstackoverflowアカウントとFacebookのアカウントを接続するには?

+0

を例えば登録プラグインを使用すると、リンク先のページにすぐそこにあります。もちろん、あなた自身で実装する方法もあります。ユーザーがあなたのアプリに接続して必要な情報を入手し、ページのログインシステムで新しいアカウントを作成するだけです。 – CBroe

答えて

4

Facebookログインプラグインは、あなたのウェブサイトにユーザーをログインさせる方法を提供します。 StackOverflowのように、自分自身の内部システムへのリンクを自分で行う必要があります。これは、Facebookユーザの詳細に基づいて新しい「ユーザ」を作成することを意味します。

たとえば、ウェブサイトで電子メールアドレスを「ユーザー名」として使用する場合、フェイスブックユーザーに電子メールアドレスを提供するか、電子メールアドレスの許可を求める必要があります。次に、ユーザーの新しいアカウントを作成し、それらにランダムなパスワードを与えます。

また、既存のユーザーが電子メール/パスワードまたは関連するFacebookアカウントにサインインできるように、ログインフローを変更する必要があります。

7

Facebookの社会的なプラグイン: ログインボタン Facebookは、社会的なプラグインと呼ばれるもののホストを提供しています。私たちが興味を持っているのはログインボタンです。

あなたのサイトにはFacebookアプリが必要です。 https://developers.facebook.com/apps/に移動し、[新しいアプリケーションを作成]ボタンをクリックします。

あなたの「App Display Name」は意味があります。 私は通常、サイトのドメイン名を使用します。この同じアプリを将来他の目的にも使用できます。 「App Namespace」は、特殊文字を含まないものである必要があります。 私は通常、スペースやピリオドなどを入れずに自分のアプリの表示名を使用します。 "App Domain"とウェブサイト "Site URL"を入力する必要があります。 appドメインには、サイトがホストされているドメイン名を入力します。 サイトURLには、ウェブサイトの完全なURLを入力します。 たとえば、ドメインがname.comの場合、サイトのURLはhttp://www.name.comのようになります。 適切な情報を入力したら、変更を保存します。 「App ID」と「App Secret」が表示されたページが表示されます。 ページにログインボタンコードを追加するときにアプリIDが必要なので、そのページを開いたままにしてください。 Facebookからログインボタンコードを取得する必要があります。 http://developers.facebook.com/docs/reference/plugins/login/にアクセスし、[コードを取得]ボタンをクリックします。 最初のボックスからHTML5コードをコピーします。これは、Webページの本文タブのすぐ下に配置します。コードで

<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/en_US/all.js#xfbml=1&appId=APP_ID"; 
    fjs.parentNode.insertBefore(js, fjs); 
    } (document, 'script', 'facebook-jssdk')); 
</script> 

あなたのFacebookアプリ用に作成されたアプリケーションIDとAPP_IDを交換してください:コードは次のようになります。 2番目のボックスのコードを、ログインボタンを配置する場所に貼り付けます。私はそれはユーザーがログインしているとき、表示されません真のログアウトボタンに設定しているため、データ・ショーの顔属性をfalseに変更し

<div class="fb-login-button" data-show-faces="false" data-width="200" data-max-rows="1"></div> 

:コードが何かのようになります。

0

は、アプリの登録とfb SDKのダウンロード後、このコードは、次のとおりです。

<?php 
 
require_once('lib/Facebook/FacebookSession.php'); 
 
require_once('lib/Facebook/FacebookRequest.php'); 
 
require_once('lib/Facebook/FacebookResponse.php'); 
 
require_once('lib/Facebook/FacebookSDKException.php'); 
 
require_once('lib/Facebook/FacebookRequestException.php'); 
 
require_once('lib/Facebook/FacebookRedirectLoginHelper.php'); 
 
require_once('lib/Facebook/FacebookAuthorizationException.php'); 
 
require_once('lib/Facebook/GraphObject.php'); 
 
require_once('lib/Facebook/GraphUser.php'); 
 
require_once('lib/Facebook/GraphSessionInfo.php'); 
 
require_once('lib/Facebook/Entities/AccessToken.php'); 
 
require_once('lib/Facebook/HttpClients/FacebookCurl.php'); 
 
require_once('lib/Facebook/HttpClients/FacebookHttpable.php'); 
 
require_once('lib/Facebook/HttpClients/FacebookCurlHttpclient.php'); 
 

 

 
use Facebook\FacebookSession; 
 
use Facebook\FacebookRedirectLoginHelper; 
 
use Facebook\FacebookRequest; 
 
use Facebook\FacebookResponse; 
 
use Facebook\FacebookSDKException; 
 
use Facebook\FacebookRequestException; 
 
use Facebook\FacebookAuthorizationException; 
 
use Facebook\GraphObject; 
 
use Facebook\GraphUser; 
 
use Facebook\GraphSessionInfo; 
 

 
use Facebook\FacebookHttpable; 
 
use Facebook\FacebookCurlHttpClient; 
 
use Facebook\FacebookCurl; 
 

 

 

 
session_start(); 
 
$app_id=""; 
 
$app_secret=""; 
 
$redirect_url=""; 
 
FacebookSession::setDefaultApplication($app_id,$app_secret); 
 
$helper=new FacebookRedirectLoginHelper($redirect_url); 
 
$sess=$helper->getSessionFromRedirect(); 
 
if(isset($sess)){ 
 
\t $request=new FacebookRequest($sess,'GET','/me'); 
 
\t $response=$request->execute(); 
 
\t $graph=$response->getGraphObject(GraphUser::classname()); 
 
\t $name=$graph->getName(); 
 
\t echo 'hi $name'; 
 
\t 
 
} 
 
else 
 
{ 
 
\t echo '<a href="'.$helper->getLoginUrl().'">Login with Facebook</a>'; 
 
}

関連する問題