2012-05-14 31 views
0

我的Rails 3應用程序正在使用Devise,我注意到我的用戶表缺少它的authentication_token列。不知道它到目前爲止是如何驗證用戶身份的,但無論是哪種情況,我都希望添加authentication_token列來重複本教程中所做的操作:http://ariejan.net/2011/03/27/rails-3-devise-uploadify-no-flash-session-hacks。我如何着手添加?Rails 3 Devise User表缺少authentication_token

編輯

我也注意到,在我的config/initializers/devise.rb我有這個,我採取的是到身份驗證令牌的方法嗎?

# If true, uses the password salt as remember token. This should be turned 
# to false if you are not using database authenticatable. 
    config.use_salt_as_remember_token = true 

編輯2

我也嘗試添加下列到改變了我的用戶模型,但一無所獲。

devise :database_authenticatable 

這裏是我當前的用戶模型:

devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 

回答

1

令牌認證只用於在您收到來自其他應用程序的JSON響應API類型的認證。默認情況下,Devise使用電子郵件和密碼驗證,這是:database_authenticatable正在配置的內容。

爲了以這種方式設置您的應用程序,您可以按照Devise Wiki中的任一教程進行操作。他們中的任何一個都會指引您朝着正確的方向前進。

+0

它們都可以同時使用嗎?我的印象是,當用戶使用電子郵件和密碼登錄時創建了令牌。 – Noz

+0

如果您同時使用,那麼這將使他們能夠通過您的Web應用程序登錄,或通過其他應用程序使用該令牌。無論您選擇什麼,您都必須設置令牌控制器來創建它們。最常見的是,在移動設備中,令牌是在用戶註冊時創建的。他們使用用戶名和密碼登錄移動應用程序,然後存儲傳回的令牌。從那以後,他們用令牌登錄。 – janders223

+0

我認爲當用戶使用電子郵件/密碼登錄時,Devise會在引擎蓋下使用的會話令人困惑。我不認爲令牌是我想要的應用程序,畢竟,謝謝澄清。 – Noz