2011-06-14 91 views
13

我正在撰寫一個廣泛使用Facebook的iPhone應用程序。現在,我正在使用iPhone Facebook SDK獲取訪問令牌。這返回給我一個標準的訪問令牌。Facebook:發送iOS訪問令牌服務器端並使用App Secret簽名

我正在發送這個令牌服務器端,併成功地將它用於許多查詢。但是,有些查詢需要使用應用程序密碼簽名的訪問令牌,由於安全漏洞(特別是我試圖使用儀表板方法),iPhone應用程序sdk無法執行客戶端。

所以我的問題是:有什麼辦法可以讓Facebook升級這個iPhone訪問令牌服務器端來包含簽名的祕密?還是必須從一開始就驗證服務器端來執行此操作?

該文檔指出,使用「服務器端流量」方法,一旦用戶允許您的應用程序,您將獲得服務器生成的代碼,您必須使用您的應用程序密鑰發送回代碼以獲取您的訪問令牌。 iPhone SDK使用「客戶端流程」方法,似乎跳過了這一步,所以我不確定如何獲取此代碼。所以我想這個問題歸結爲,是否有可能將'客戶端流程'方法獲得的令牌升級到完全可以在服務器端使用的令牌。

+1

這不是一個答案,而是一種解決方法 - 我通過創建自己的登錄來解決這個問題,該登錄通過通過處理身份驗證的服務器路由的UIWebView。這樣我就可以安全地使用我的應用程序祕密來獲取我需要的憑據。 – 2011-06-14 22:17:38

+0

HI Shaun,我剛開始研究一個需要我在iphone應用程序上進行服務器端登錄的項目。我想知道,如果您使用UIWebView來呈現服務器端登錄,您怎麼知道登錄成功或失敗?任何鏈接或提示?謝謝! – mkto 2011-07-26 12:19:21

回答

7

答案是否定的。

用戶令牌和應用令牌不同,您不能將其轉換爲另一種。

因爲你有一個客戶端應用程序,我不建議你嵌入你的應用程序的祕密(正如你指出的那樣)。

對於您的應用程序,我建議您在您控制的服務器上創建一個網頁,然後使用應用程序令牌創建所需的調用。

相關問題