2016-05-12 29 views
1

我一直在寻找一段时间,似乎无法找到一篇文章,指出存储访问令牌的最佳做法。对不起,这可能是一个重复的...用于存储访问令牌的最佳场所用于导轨应用程序

很显然,我希望它是持久的,所以自然我会认为将其存储在数据库或用户的cookie中。不过,我看到有人说要将它存储在memcache或会话中,但我并不真正了解它们的含义。

+0

您是否找到任何解决方案? –

回答

0

如果您将会话存储到cookie,最好使用默认的ActionController :: Session :: CookieStore,因为它是经过加密签名和加密的。

将其存储在数据库中可能没问题,但这需要一个数据库访问权限才能查看用户是否已通过身份验证,这可能会导致性能问题。 Memcache是​​一个很好的选择,因为作为内存中的键值存储引擎可以提高性能。

请参阅here仅供参考

+0

但我认为会话哈希不是持久的。一旦用户关闭浏览器,我们会失去任何形式的身份识别。 –

+0

Session存储在服务器端,所以它们不依赖于浏览器。会话ID存储在用户浏览器的cookie中,只要用户不删除它或取决于cookie的过期日期,它就会被保留。请参见[here](http://guides.rubyonrails.org/action_controller_overview.html#session)以获取参考 –

+0

“有一个例外,那就是默认和推荐的会话存储区 - CookieStore--将所有会话数据存储在cookie本身(如果你需要的话,ID仍然可用)“看起来客户端默认存储的信息不是服务器...... –

相关问题