2012-01-12 92 views
0

我需要用戶通過表單進行身份驗證,但我還需要將此身份驗證公開爲其他應用程序/設備使用的API。設計Rails身份驗證API

顯然我想保持簡單並避免重複,所以我應該如何處理這個問題?我是否應該爲用戶登錄和api登錄使用單個URI?如果是這樣,我應該如何處理不同的要求 - 通過flash/redirect向用戶通知成功或失敗,並返回一個JSON對象給API客戶端?

回答

2

使用用戶的API形式基於登錄(如Devise

OAuth基於登錄(軌道oauth2_provider

你不能避免重複,這裏,不,如果你想要做的事正確。主要是因爲你的API是無狀態的,而你的用戶是有狀態的(cookies!)。

+0

但是如果我使用基於令牌的身份驗證呢?這是否意味着統一用戶登錄和API身份驗證的方法? – Undistraction 2012-01-13 16:50:34

+0

oAuth只比access_token多一點,你必須簽署每一個請求。該規範說,你可以獲得一個access_token發送你的密碼,但不建議。 http://tools.ietf.org/html/draft-ietf-oauth-v2-22#page-14 Rails充滿了所有這些事情的寶石,關於重複,你不會有太多事情要做。 – greut 2012-01-13 17:56:00