Facebook第三方登入功能建立流程

Facebook第三方登入功能建立流程

應用程式建立
1. 登入Facebook開發者平台
2. 點選上方"我的應用程式">"建立新的應用程式"
3. 輸入應用程式的"顯示名稱"
4. 進入應用程式管理介面後,點選左方選單"設定">"基本資料"
5. 輸入"應用程式網域"、"隱私政策網址"、"服務條款網址"、上傳應用程式圖示並儲存變更
6. "設定">"基本資料"可以取得"應用程式編號"與"應用程式密鑰"

網站FB第三方登入
1.Facebook 登入
$FacebookLoginURL = 'https://www.facebook.com/dialog/oauth?' .
    'client_id=' . "{應用程式編號}" .
    '&redirect_uri=' . "{Facebook登入後返回的網址}" .
    '&scope=public_profile,email' .
    '&state=' . "{自己產生的驗證碼}";

public_profile為向FB要求公開資料
email要求FB eamil

登入成功後FB返回
{Facebook登入後返回的網址}?code={Facebook返回的code}&state={自己產生的驗證碼}

2. Facebook 取得存取權限網址 (取得第三方登入的AccessToken)
$FacebookAccessURL = 'https://graph.facebook.com/v2.3/oauth/access_token?' .
    'client_id=' . "{應用程式編號}" .
    '&redirect_uri=' . "{Facebook登入後返回的網址}" .
    '&client_secret=' . "{應用程式密鑰}" .
    '&code=' . "{Facebook返回的code}";

權限驗證成功後, 會返回json
json內含"access_token"欄位,之後跟Facebook溝通,需要此token

3. 取得Facbook帳號資料
$FacebookGetURL = 'https://graph.facebook.com/v2.6/me?' .
    'fields=name,email,gender' .
    '&format=json' .
    '&method=get' .
    '&pretty=0' .
    '&access_token=' . "{access_token}";

field與FB要求的資料

成功後會返回JSON資料

留言