2012-01-27 23 views
0

我有一個網站,要求任何用戶使用Facebook身份驗證系統登錄。如何使用需要Facebook身份驗證的網站的功能?

另一方面,我正在製作一個需要使用網站功能的iOS應用程序。我在iOS系統上實現了SSO系統,但我沒有得到我應該如何以一種告訴後端「我可以在iOS應用上進行身份驗證」的方式來調用我的web服務。

與iOS端的signed_request參數有什麼關係?如果是的話,我還沒有找到那個參數。

你有什麼線索可以幫助我解決我的問題嗎?

由於

回答

1

https://developers.facebook.com/docs/authentication/signed_request/

signed_request參數被用在許多不同的方案,以共享Facebook和應用程序之間的信息:

  • signed_request被傳遞給應用程序上時Facebook.com他們被加載到Facebook環境中
  • signed_request被傳遞到任何已註冊了未經授權的應用程序回調在開發應用程序,只要給定用戶刪除使用App儀表盤
  • 一個signed_request被傳遞到使用每當用戶成功地與他們的應用程序登記註冊的插件應用

確實的iOS使用任何這些應用程序?

**編輯**

好,謝謝,你可以編輯你的答案,並添加的事實,我不能 訪問signed_request參數? - MartinMoizard

從馬丁:iOS無法訪問簽名的請求參數,可能是因爲iOS不是一個能夠接受HTTP Post參數的web服務器。

+0

其實這是我的問題的一部分:「我還沒有找到尚未得到該參數」在iOS部分 – MartinMoizard 2012-01-28 15:56:53

+0

有三種方式來獲得它,所以你需要實現這三種方式之一。我認爲它不是因爲這三種方式都是用於HTTP POST到Web服務器的,而iOS不是真正的Web服務器語言或服務器,對吧?因此,如果iOS不是運行網站的東西,那麼您可能無法從iOS訪問傳遞給iframes URL的signed_request表單發佈參數。 – DMCS 2012-01-28 15:59:21

+0

好的,謝謝,你能編輯你的答案,並添加我無法訪問signed_request參數的事實嗎? – MartinMoizard 2012-01-30 11:21:25

0

我正在努力解決這個問題,看起來OAuth實際上是一個授權協議,而不是一個認證協議。請參閱: http://www.thread-safe.com/2012/01/problem-with-oauth-for-authentication.html 似乎已簽名的請求將很好地解決此問題。不知道爲什麼我們無法在iOS上獲得它們。最好我可以弄清楚的是,我需要將我的access_token從iOS客戶端傳遞到我的服務器,然後它可以詢問graph.facebook.com它代表的用戶。