2012-01-05 94 views
1

我需要在RoR 3中實現登錄Web服務。 我將Devise應用於用戶模型,並添加了一些字段。Rails 3- Devise - 通過Web服務進行身份驗證

我想要做的是: 1-客戶端執行REST服務,發送用戶名和密碼。 2-服務器驗證(在用戶表中使用encrypted_pa​​ssword字段)並返回具有到期時間的訪問令牌 3-客戶端在他執行的所有服務中發送該訪問令牌,並且如果令牌未過期,則服務器發送響應沒有錯誤。

如何使用Devise實現這個方案。我已經將Devise應用於用戶模型。

謝謝!

+0

太晚了,但這裏是一個鏈接,你可以得到一些想法[http://zyphdesignco.com/blog/simple-auth-token-example-with-devise] – 2012-05-30 10:45:58

+0

在這裏一個http://matteomelani.wordpress .com/2011/10/17/authentication-for-mobile-devices/ – 2012-05-30 11:17:53

+0

@AbhayKumar,謝謝但第一個鏈接被破壞。 – Tony 2012-05-30 13:41:11

回答

1

答案是:設計不適用於此目的。

2

設計不會做任何開箱即用的事情。

Devise可以處理初始身份驗證,例如有一行取消註釋以允許對電子郵件/密碼進行基本身份驗證。

# config/initializers/devise.rb 
config.http_authenticatable = true 

發送和存儲訪問令牌是你必須在家做飯的東西,據我的知識,設計不會做那樣的事情。也許是屬於用戶的令牌模型?

您可以創建一個自定義的守望者策略來通過您的令牌進行身份驗證,有一個示例說明如何在devise.rb的底部工作。

談論身份驗證令牌讓我想到了Oauth,它比您想象的要複雜得多,但具有成爲各種標準的優勢。如果您對這條路線感到好奇,我會查看:https://github.com/nov/rack-oauth2

相關問題