2012-11-14 63 views
0

我正在開發一個移動應用程序,它將與一個本質上是json api的rails應用程序進行交互。是否可以使用Facebook或Googleplus等外部身份提供程序來保護對我的API的訪問?是否可以使用Facebook oauth來保護我的json API?

用戶將照片上傳到json rest服務,但rails應用只會允許上傳,如果用戶通過其中一個提供商進行身份驗證。

我檢查了omniauth寶石,但我不知道如果這是它的路徑。我不太瞭解oauth是如何工作的,所以我想知道這是否可行。

問候 FAK

回答

2

答案部分取決於你打算如何通過移動應用程序提供身份。用戶的認證和他們的身份被分離。

我的猜測是你想要用戶使用Google/Facebook sdk應用程序端對移動應用程序進行身份驗證。爲此,您需要使用該sdk生成一個令牌,然後將其保存到Rails。然後可以將令牌作爲每個API請求的一部分 - 哪些rails會驗證。

該主題有點複雜,以充分描述流程......但實質上:1)使用移動sdk在移動應用上創建令牌,2)將用戶和令牌保存到Rails /數據庫,3 )作爲每個請求的一部分檢查提供的access_token。

由於Oauth和請求/身份提供者的主題需要一定的時間才能理解,所以我首先會看到他遵循railscasts關於保護API。一旦你完成了那個(並理解了這個概念),你也可以看這個railscast

希望這會有所幫助。

相關問題