2011-06-11 69 views
3

我正在開發一個rails項目,並且建議我使用Devise進行身份驗證和用戶會話管理。使用Devise在Rails 3中對「訪問代碼」進行身份驗證

我有兩個用戶類型需要用戶/密碼認證和另一個用戶類型,我只需要使用'access_code'進行認證。他們是不同的模式,沒有繼承。

在Devise中做這件事的最好方法是什麼?有沒有辦法讓所有這些不同的身份驗證類型並行工作?

我已經看過允許用戶使用用戶名或電子郵件地址登錄,但我怎麼會只使用一個字段去做?沒有涉及密碼。

回答

1

使用不帶數據庫的令牌認證模塊。 Devise Wiki中有一個example

這些令牌與您在密碼恢復電子郵件中找到的不同,例如永久存儲在數據庫中。它們的默認行爲與服務API密鑰相同,這意味着它們不會將用戶保留在會話中,並且需要在每個請求中提供。

爲了使他們真正登陸用戶:

# If true, authentication through token does not store user in session and needs 
# to be supplied on each request. Useful if you are using the token as API token. 
config.stateless_token = false 
+0

這難道不是要求的現有用戶名/密碼,系統設置?此外,它似乎是一個暫時的事情(例如註冊)。永久驗證方法是否可行? – 2011-06-13 12:55:07

+0

@Peter,只有'database_authenticatable'模塊需要密碼進行驗證。使用令牌認證,令牌就像服務的API密鑰。成員可以通過在'GET'或'POST'中提供'?#{token_authentication_key} = access_token'參數來「登錄」。 – 2011-06-14 19:15:10

相關問題