2011-07-21 24 views
1

Facebook的iOS的SDK被給予加密或以這種格式編碼的訪問令牌:來自Facebook格拉夫的iOS SDK解密或解碼的Facebook訪問令牌

v9ylvkttPnuFWUX4KVdjDPB0SRXkuKX7z281rqjHuG0.eyJpdiI6ImEwWXBDaEtncWpDTU5ibUNuQWdROWcifQ.Y-DwxRY2ZAFZiP7EVuR-HksXqmGw9LXP6umGrfz2XnjSLm0a508u7_jXq0_Kz5a2S8AUUulzUvIRVxTS51_i6VfSByOCbFBIKoBe0-n-Pa8NC29wbuVmGJLvq4W-ezhv0DzA3diiCIqCybt9ELDXoA 

在網絡上使用OAuth,臉譜提供了在未加密/未編碼的訪問令牌這種格式(這個人是不是真正的):

213455681425|1.BGgrgnfWrdpG_X18.3600.1213252135.2-1334679|dHcDbxGbeYbLg3SRgw12fdf4gd60 

我如何才能解密/解碼的iOS訪問令牌,這樣我可以與未編碼標記讀到期UNIX時間值和用戶ID就像我可以嗎?我需要過期日期的原因是要確定何時到期,並且在訪問令牌過期但用戶尚未撤消publish_stream訪問的情況下,我需要用戶標識與appID | appSecret樣式訪問令牌一起發佈。

回答

0

該訪問令牌永遠不會失效,因爲它具有offline_access權限。見here

在這種情況下,它看起來像用戶通過取消授權應用程序或更改其密碼來過期訪問令牌。爲了緩解這一點,請使用應用程序取消授權回調網址進行研究。這裏的一些細節:

當你的應用的用戶在App儀表板或塊刪除它在新聞聯播的 應用程序,應用程序可以通過在開發應用程序指定 取消授權回調URL通知。在應用移除過程中,我們 將發送包含單個參數 signed_request的HTTP POST請求,其中包含用戶的用戶標識(UID),只是 已刪除您的應用。您將不會收到此 請求中的用戶訪問令牌,並且所有現有的用戶訪問令牌將自動過期 。

http://developers.facebook.com/docs/authentication/

+0

該令牌只是一個例子,我發現網上顯示的格式 - 我不想我自己粘貼我更新的問題與我的實際過期的標記。我不是在提示offline_access - 只是publish_stream。但回到這個問題,有沒有辦法解碼該令牌(也許使用祕密)來解析用戶ID /到期時間戳? – bkaid