2012-03-10 83 views
1

我想使用devise'token_authenticatable helper根據系統驗證用戶。如何使用設計驗證令牌

我發現了一些較舊的文檔,其中使用了一個名爲valid_authentication_token?(...)的方法,但在較新的設計版本中找不到相同的文檔。

那麼認證用戶的正確方法是什麼? 我是否應該爲具有命名標記的用戶請求模型並檢查電子郵件地址是否匹配?

非常感謝你的幫助。

PascalTurbo

回答

6

如果添加

t.token_authenticatable 

給你的用戶ActionRecord,並添加

devise :token_authenticatable 

到您的用戶模型

,並指定其參數是在你的令牌密鑰config/initializer/devise,如下所示:

config.token_authentication_key = :auth_token 

然後控制器使用

before_filter :authenticate_user! # Tell devise to use :user map 

進行身份驗證。發生authenticate_user!之後,單個方法可以測試使用

user_signed_in? 

將授權用戶或者通過登錄會話或查詢字符串傳遞或通過使用HTTP基本身份驗證的色器件授權令牌。詳情請參閱設計助手code

+0

你確定「load_and_authorize_resource」是devise的一部分嗎?我找不到任何文件回合 - 但很多「cancan」的條目 – PascalTurbo 2012-03-10 21:15:13

+0

對不起,混淆了我的設計和康康電話。我們使用兩者。我已經使用before_filter authenticate_user更新了我的答案!來自Devise。 – 2012-03-10 21:25:13

+0

@SteveWilhelm您寫了「..設計授權令牌傳遞查詢字符串...」。你能告訴我怎麼做,當我發送一個POST請求到一個JSON API? – JJD 2013-01-13 18:49:25