【2016年11月時点】PHP用Facebook SDK v5でログイン認証

php

【2016年11月時点】PHP用Facebook SDK v5でログイン認証

 

PHPでFacebookのログイン認証を実装する方法をご紹介します。

大まかな流れは以下の通りです。

  1. facebookでアプリ追加
  2. Facebook SDKを用意
  3. 実装

それでは説明していきます。

 

facebookでアプリ追加

自身がつくるPHPのアプリ(サービス)をfacebookに認識させる必要があります。

「アプリ」というとiphoneアプリやAndroidアプリのイメージが強いと思いますが、それだけではなく、Webアプリ(Webサービス)も含まれます。

 

早速実施してみます。

まずはhttps://developers.facebook.com/apps/にアクセスしましょう。

php-facebook-sdk-login-01

 

ログイン後の画面です。「+新しいアプリを追加」をクリックします。php-facebook-sdk-login-02

 

「表示名」「連絡先メールアドレス」を入力し、「カテゴリ」を選択します。その後、「アプリIDを作成してください」をクリックします。

php-facebook-sdk-login-03

 

セキュリティチェック画面が表示されるので、表示された文字を入力し、「送信」をクリックします。文字が読めない場合は「別の文字を表示」を押しましょう。別の文字に変わります。

php-facebook-sdk-login-04

 

以下の画面が表示されます。「新しいアプリIDを作成」する画面で表示名を「kamotora」としたため、以下の画面の左上に「kamotora」と表示されているのがわかります。

php-facebook-sdk-login-05

 

画面左側の設定を押すと、以下の画面が表示されます。

php-facebook-sdk-login-06

「app secret」欄の「表示」を押すと「app secret」の値が表示されます。

「アプリID」と「app secretの値」は、自身のつくるPHPサービスとfacebookを紐付けるものとなります。後ほど必要になりますので、メモしておきましょう。

 

画面左の「ダッシュボード」をクリックし、表示される画面で少しだけ下にスクロールすると以下の画面になります。ここで「プラットフォームを選択」をクリックします。

php-facebook-sdk-login-21

 

以下の画面が表示されるので、「www ウェブサイト」をクリックします。

php-facebook-sdk-login-22

 

以下の画面が表示されます。

php-facebook-sdk-login-23

 

下にスクロールしていくと、以下の画面が表示されます。ここに書かれているコードはjavascriptをで使用する際に使うコードなので、今回は無視してかまいません。

ここでは「Tell us about your website」の箇所に、facebook認証を利用するサイトのURLを記入します。記入後に「Next」をクリックします。

php-facebook-sdk-login-24

 

画面下までスクロールすると以下の画面が表示されます。途中、「Test」の項目が表示されますが、必須ではないので実施しなくてもかまいません。

php-facebook-sdk-login-25

 

 

Facebook SDKを用意

Facebook SDKのファイル一式をダウンロードします。

Facebook SDK for PHP (v5)のソースコードは「https://github.com/facebook/php-graph-sdk/tree/5.4」からダウンロードできます。

 

「Clone or download」をクリックします。

php-facebook-sdk-login-07

 

「Download ZIP」をクリックします。php-facebook-sdk-login-08

 

ちなみに今回開いたURLにあるソースコードはFacebook SDKの最新版ではありません。

2016年11月10日時点で最新版は「https://github.com/facebook/php-graph-sdk」にある「Facebook SDK for PHP (v6)」です。Facebook SDK for PHP (v6)はPHP 5.6以上が対象です。Facebook SDK for PHP (v5)を使いたい場合は「https://github.com/facebook/php-graph-sdk/tree/5.4」からダウンロードしてください。(今回は後者)

 

ダウンロードしたファイルを解凍すると以下のようになっています。「src」をダブルクリックして移動します。

php-facebook-sdk-login-09

 

「src」の下に「Facebook」フォルダが存在することがわかります。このフォルダを丸ごとサーバにアップロードします。

php-facebook-sdk-login-10

 

今回はサーバのDocumentRootの直下に「lib」という名前のディレクトリを作成し、その下に先ほどのフォルダをアップロードしましょう。フォルダ構成は以下のようになります。

php-facebook-sdk-login-11

 

実装

Facebook認証が必要なページに以下の内容を記載すればOKです。

赤字の「アプリID」「app secretの値」は、「facebookでアプリ追加」でメモした内容を記入します。

同じ内容を書くのは冗長ですから、以下の内容でphpファイル(fb_config.php)を作っておきましょうか。

 

fb_config.php

 

ユーザがアクセスする「index.php」の中で、この「fb_config.php」を読み込むように設定します。

 

index.php

 

「$permissions = [‘email’];」の箇所は、facebookから受け取る情報です。

何も指定しない場合は「公開プロフィール」が取得されます。ここにはメールアドレスは含まれません。今回はメールアドレスを取得したいので「email」を記載しました。

その他指定できるオプションについてはこちらを参照してください。

 

「https://kamotora.net/callback.php」は認証後にfacebookから自分のサイトにリダイレクトされる際のURLです。
callback.php

 

参考URL:https://developers.facebook.com/docs/php/gettingstarted

 

 

ログイン認証処理はこれで完了です。

ログイン後のページやログアウトするページは別途必要ですが、ログイン認証はわりと簡単に実装できますね。

 

Secured By miniOrange
タイトルとURLをコピーしました