Category Archives: Oauth

[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 : 自訂唯一的字串,認證後該字串會一起傳回,方便開發者驗證

2.將代碼轉換成access_token

client_id : 你的App ID redirect_uri : 驗證url(要與第一步驟的url相同,不然會出現Error validating verification code的訊息) client_secret : 你的App Secret ID code: 第一步驟產生的代碼

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

3.透過Web Service登出

next : 登出後,要將token傳到哪個網址 access_token : 登入取得的token

補充用法 取得大頭貼

Continue Reading

[Oauth]使用 OAuth 2.0 存取 Google APIs(for Login)

要使用Google API第一步要先申請註冊project(在左邊API Access中新增Client ID for web applications ) Google API

接著要透過OAuth認證來登入Google(Google Using OAuth 2.0 for Login)

首先測試Client ID是否能操作API 對https://accounts.google.com/o/oauth2/auth這個Google的Web Service以GET參數的方式傳入API存取權限 傳入的參數有: response_type:可傳入token或code(之後Google會依照此參數回傳不同的內容型態) client_id:該Project的Client ID redirect_uri:該Project的Redirect URIs(Google會把token傳到該url) scope:該Projec可存取的權限,可傳入https://www.googleapis.com/auth/userinfo.profile(使用者基本資料)和https://www.googleapis.com/auth/userinfo.email(使用者信箱資料),兩個可以用+號串起來 例如

執行並登入後,Google會將token(code)以#(錨點)的方式帶到該Project的Redirect URIs上,這樣就算測試成功

另外 https://www.googleapis.com/oauth2/v1/tokeninfo?access_token={Your accessToken} 這個把token傳入到這個Web Service,它會幫你把token的資訊解析出來

不過,要拿來開發系統建議還是用Google所提供的apiClient(Google API PHP Client)

因為是使用OAuth2,所以src/config.php裡的OAuth2 Settings都要填上資料(Client ID等等)

PHP

HTML

Continue Reading