Rails中的设计和无状态令牌

时间:2011-05-18 15:17:25

标签: ruby-on-rails-3 devise

我使用Rails 3和Devise开发了一个API。我正在使用令牌(token_authenticatable)来验证从客户端向API发出的请求。我希望能够在请求中的用户之间切换,只需要替换令牌。

我听说过一个名为:stateless_token(boolean)的设置,但我无法弄清楚这个设置的位置。还有另一种方式吗?

如果在这里找到了token_authenticatable:

https://github.com/plataformatec/devise/blob/master/lib/devise/strategies/token_authenticatable.rb

如果在此找到有关stateless_token的信息:

http://rdoc.info/github/plataformatec/devise/master/Devise/Models/TokenAuthenticatable

3 个答案:

答案 0 :(得分:13)

截至目前,

stateless_token已被弃用。这是新形式(它允许更多的auth策略成为无状态):

# config/initializers/devise.rb
config.skip_session_storage = [:token_auth]

答案 1 :(得分:4)

您还可以编辑文件/config/initializers/devise.rb并放置(或取消注释,如果已经存在)以下行:

config.stateless_token = true

答案 2 :(得分:2)

它应该是路径文件中devise_for行的一个选项。

devise_for :users, :stateless_token => true

如果有效,请告诉我, 在这个page of documentation for devise中,它说“TokenAuthenticatable将以下选项添加到devise_for:”,其中无状态标记就是其中之一。

此处还有指向devise_for documentation

的链接