您想要將訪問令牌發送回服務器。在服務器上,結合您的訪問令牌和您的應用程序ID來獲得appsecret_proof。 appsecret_proof是一個sha256散列。都向Facebook發出的請求,看起來像這樣:
curl \
-F 'access_token=<access_token>' \
-F 'appsecret_proof=<app secret proof>' \
-F 'batch=[{"method":"GET", "relative_url":"me"},{"method":"GET", "relative_url":"me/friends?limit=50"}]' \
https://graph.facebook.com
如果你得到一個成功的響應,你知道,這是一個合法的請求,可以登錄用戶涼爽的部分是,訪問令牌到期。如果等待時間過長,發出請求,你會得到一個失敗回:
{
"error": {
"message": "Error validating access token: Session does not match current stored session. This may be because the user changed the password since the time the session was created or Facebook has changed the session for security reasons.",
"type": "OAuthException",
"code": 190,
"error_subcode": 460,
"fbtrace_id": "GG1nF4eGYKI"
}
}
要識別Facebook用戶,你應該只使用您從API獲得,當你要求與基本用戶的詳細信息,Facebook的用戶ID他們的令牌。請記住,雖然它目前只包含數字,但它並不意味着被解釋或存儲爲整數,而是作爲字符串值。 (因爲它可能會在將來的任何時候開始包含其他角色) – CBroe
但是我無法使用該值對我的服務器上的用戶進行身份驗證,因爲任何人都可以獲取Facebook用戶的電子郵件和ID,然後實際上會知道一個用戶名和密碼來使用我的API,對吧? – Arel