[Oauth]Facebook Oauth2.0 Authentication and Authorization

現在各大網站都有使用Oauth的認證機制,Facebook當然也不例外

事前準備:
Facebook Apps註冊一個Application
(注意:App Domains 最好是輸入自己的domain,例如johnsonlu.org;這樣未來需要用到其他API時,Facebook才會認定這個網域)

1.透過Web Service取得Facebook的代碼

  • client_id : 你的App ID
  • redirect_uri : 認證結束後,要將token傳到哪個網址(一定要/符號結尾)
  • scope : 向使用者要求的權限(用逗號分開);權限列表
  • state : 自訂唯一的字串,認證後該字串會一起傳回,方便開發者驗證
https://www.facebook.com/dialog/oauth?
    client_id=YOUR_APP_ID
   &redirect_uri=YOUR_REDIRECT_URI
   &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
   &state=SOME_ARBITRARY_BUT_UNIQUE_STRING

2.將代碼轉換成access_token

  • client_id : 你的App ID
  • redirect_uri : 驗證url(要與第一步驟的url相同,不然會出現Error validating verification code的訊息)
  • client_secret : 你的App Secret ID
  • code: 第一步驟產生的代碼
https://graph.facebook.com/oauth/access_token?
    client_id=YOUR_APP_ID
   &redirect_uri=YOUR_REDIRECT_URI
   &client_secret=YOUR_APP_SECRET
   &code=CODE_GENERATED_BY_FACEBOOK

成功後Service會回傳access_token和expires(token存活時間;秒)
API參考

3.透過Web Service登出

  • next : 登出後,要將token傳到哪個網址
  • access_token : 登入取得的token
https://www.facebook.com/logout.php?
    next=YOUR_REDIRECT_URL
   &access_token=USER_ACCESS_TOKEN

補充用法
取得大頭貼

http://graph.facebook.com/UID/picture

取得登入者的資訊

https://graph.facebook.com/me?access_token=xxx

參考文件
authentication
server-side

[jQuery].on() & .off()

[Android]OnItemClickListener

One thought on “[Oauth]Facebook Oauth2.0 Authentication and Authorization

  1. Pingback: 佛祖球球 » Blog Archive » [PHP]Facebook PHP-SDK

Comments are closed.