【PHP】實作 Facebook 登入功能

5 個月前 |

本篇文章將教您如何在網頁新增 Facebook 登入功能!

PS:Facebook 新規定要求網頁網址必須要是 https,並且強制開啟對重新導向 URI 使用 Strict 模式,隱私政策網址也必須新增。

在開始教學前我們必須先在 Facebook for Developers 新增一個應用程式 (點我)

進入到頁面後點擊 Add a New App

接下來輸入資料,並按下建立應用程式編號

接著會自動進入到應用程式新增服務的頁面,找到 Facebook 登入 並點擊設定

接下來直接看到側邊欄,點擊設定

進入設定頁面後基本上設定都不用動,只需要新增 有效的 OAuth 重新導向 URI

有效的 OAuth 重新導向 URI 設定中,需要填入登入頁面的完整網址,例如 https://example.com/login.php如果有多個頁面必須新增多個網址

設定完成後記得按下右下的儲存變更

接下來前往基本資料設定完成基本資料填寫

最後來到應用程式審查頁面,在是否發布點擊開關

應用程式就發布了!

接下來進入程式碼教學

先在專案目錄新增一個 facebook_login 資料夾,然後下載 php-graph-sdk (本教學使用 5.6.2 版本,點此下載) (GitHub)

將下載的壓縮檔內的 src 資料夾解壓至 facebook_login 資料夾

在 facebook_login 資料夾內先新增 initialization.php,並輸入以下程式碼

在程式碼特別標示的部分就是要設定的地方,應用程式編號和密鑰在剛剛的應用程式 > 基本資料頁面可以找到

接下來一樣在 facebook_login 資料夾,新增 statuslogin.php,並輸入以下程式碼

這檔案不必修改程式碼!

現在回到專案主目錄,新增 logout.php,並輸入以下程式碼

session_destroy(); 是刪除 session,就可以登出

header('location: '.$_GET['url']); 是登出後轉址到原登出網址,在登出網址會帶 url 的參數

接下來就是重點了,以下為驗證是否登入基礎架構程式碼

程式碼特別標示的部分是取得 Facebook 登入網址

我寫的範例如下

說明一下,在程式碼第 33 行登出網址為  logout.php?url=https://<?php echo $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?> ,在 ?url= 後面的  <?php echo $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?> 就是取得目前頁面的網址,?url= 的 url 為參數,後面的  https://<?php echo $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?> 為值,會把這個值一起送到 logout.php 進行處理。

在已登入那區域可以寫入  print_r($profile); 來取得可讀取的資料陣列

以上為本人登入後  print_r($profile); 所輸出的陣列資料

如果要抓取使用者全名的話使用  echo $profile["name"]; ,如果要抓取使用者大頭照網址的話使用  echo $profile["picture"]["url"]; ,以此類推!

教學就到這邊為止,如果有任何問題歡迎在網頁下方 Facebook 留言板留言,我有看到的話會回覆的OUO

GitHub
https://github.com/GoneTone/php-login-demo-for-facebook

範例網頁
https://demo.reh.tw/fblogin/


【PHP】實作 Facebook 登入功能 - QR Code
本站內容未經授權許可請勿擅自抄襲
如果需引用部分文章內容請註明來源網址

發表時間:2018-04-11 23:04:41
此文章網址:https://blog.reh.tw/archives/366
關於作者
張文相 Zhang Wenxiang 的頭像

張文相 Zhang Wenxiang

我是本站的站長,喜歡 Coding 的一位學生。

張文相 Zhang Wenxiang

我是本站的站長,喜歡 Coding 的一位學生。


分類:教學 程式
標籤:Facebook Facebook 登入 HTML Login PHP 登入



Facebook 留言