2013-04-10 78 views
1

我有一個用於請求offline_access權限的FB應用程序。在某些時候,我改變了這一點,並使用了60天有效的access_tokens。Facebook訪問令牌缺失過期屬性(offline_access棄用後)

現在,我在數據庫中存儲訪問令牌和過期時間(以ms爲單位的整數)。每次用戶使用應用程序時,他仍然有一個有效的令牌(我檢查到期時間),我嘗試擴展該令牌(每天不超過一次)。

我的問題是,我開始獲得新的令牌沒有到期字段。當我用調試器檢查其中的一些時,它說永不過期。

這怎麼可能? 12月5日是不是offline_access? 我怎樣才能確保每次當我申請訪問令牌時,我都會得到一個帶有到期時間的令牌?

回答

1

如果向用戶請求頁訪問令牌,Facebook仍會發出永不過期的令牌。

流程是這樣的(Facebook的迴應中斜體):

  • 請求初始用戶令牌
    • 的OAuth令牌過期60天的時間授予從現在
  • 請求頁面令牌頁面用戶是管理員
    • 爲所有頁面和用戶令牌授予的oauth令牌被擴展爲永不過期(除非被吊銷)。

沒有很多的任何Facebook的頁面上此文件,但我已經很廣泛的測試這一點,它發生的每一次。