2013-03-27 57 views
4

我正在爲Rails中的iOS應用做後端工作。用戶需要能夠使用特定於應用程序的用戶名/密碼或通過Twitter登錄到應用程序,但我不太清楚如何設置通過Twitter登錄。如何將「通過Twitter登錄」憑證從Rails後端傳遞給iPhone應用程序?

如果我使用OmniAuth,然後好像流程是這樣的:

  1. 的iOS應用引導用戶在Safari瀏覽器,到/ auth /中的Twitter頁面OmniAuth設置爲我
  2. 的/認證/ Twitter頁面向用戶Twitter的OAuth認證
  3. 的Twitter用戶返回/認證/嘰嘰喳喳/回調,並OmniAuth給了我一個auth散滿資訊
  4. 的????
  5. iOS應用現在有需要識別用戶發出請求時,它調用我的API
  6. 認證完成後,應用程序使用正常進行

憑據這是第4步,獲得證書回到了iOS應用程序,我不知道如何設置。我所有的iOS應用程序調用的API都是無狀態的;如果他們需要經過身份驗證的用戶,則API調用中會包含用戶憑據。我不太瞭解編寫iOS應用程序,幾乎沒有關於應用程序如何與Safari進行交互的內容。

什麼是安全的方式獲取用戶憑證迴應用程序?一個不能被窺探?如果我有回叫頁面將信息放在Cookie中或會話中,那麼應用程序可以訪問這些信息,但是沒有人看到流量?

或者,如果應用程序爲初始調用/ auth/twitter附加了一些標識符,則Twitter & OmniAuth會保留該標識符以使其包含在/ auth/twitter /回調中,以便應用程序可以然後向我的後端詢問與該標識符關聯的認證的憑證?

回答

0

或者,如果應用重視一些標識符爲自己的初始呼叫/ auth /中嘰嘰喳喳,將Twitter的& OmniAuth保留該標識符,從而其被列入/認證/嘰嘰喳喳/回調,從而使那麼應用程序可以向我的後端詢問與該標識符關聯的身份驗證的憑據?

你試過了嗎?因爲這通常是你的第4步的方式。您保留一個令牌或關於用戶的東西,所以當您獲得回叫時,您可以再次查找該用戶。沒有會話或cookie,只是簡單的數據庫。

相關問題