Vla*_*lad 9 authentication ruby-on-rails devise
我正在阅读Devise gem的初始化文件(config/initializers/deviser.rb),并且很难理解这一部分.
# By default Devise will store the user in session. You can skip storage for
# :http_auth and :token_auth by adding those symbols to the array below.
# Notice that if you are skipping storage for all authentication paths, you
# may want to disable generating routes to Devise's sessions controller by
# passing :skip => :sessions to `devise_for` in your config/routes.rb
config.skip_session_storage = [:http_auth]
Run Code Online (Sandbox Code Playgroud)
我之所以看这个是因为我正在尝试使用基于api的令牌认证,在这种情况下我需要将该配置行更改为:
config.skip_session_storage = [:http_auth, :token_auth]
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释评论的内容吗?
小智 5
很简单,它告诉 Devise 不要在会话中存储用户。这是它的另一种解释:
skip_session_storage+:默认情况下,Devise 会将用户存储在会话中。您可以通过将值附加到数组来跳过 http 和令牌身份验证的存储::skip_session_storage => [:token_auth] 或 :skip_session_storage => [:http_auth, :token_auth],默认设置为 skip_session_storage => [:http_auth]。
出于您的意图和目的,我将使用 Warden/Devise 禁用会话缓存;我相信它会干扰某些 API(尽管不要相信我的话)。希望有帮助。
| 归档时间: |
|
| 查看次数: |
5272 次 |
| 最近记录: |