ruby – 从OAuth安全地存储token / secret / etc的正确方法?

我刚刚开始研究OAuth,看起来真的很好.我现在有红宝石 oauth with twitter working.

现在我想知道,我的本地数据库和会话中存储回应的建议安全方法是什么?

>我应该储存什么?
>我应该在哪里存放?

此示例twitter-oauth-with-rails应用程序在会话中存储user.id,用户表具有令牌和秘密.但是,似乎通过传递一大堆测试用户ID来攻击并获取秘密是非常容易的,不是吗?

解决方法

没有没有你的Twitter应用程序的消费者密钥/秘密的令牌是无用的,因为它们对于每个应用程序不一样,而是依赖于消费者密钥/秘密.

获取一个会话变量,你必须猜测会话ID不是那么容易完成.

如果您希望可以将这些令牌存储在会话中,但我建议您将所有其他用户数据中的用户令牌存储在数据库中,以便您的会话仅包含用于识别系统中用户的数据.

更新:我不知道我是否正确理解您通过猜测ID从数据库访问令牌的含义.

您是否有任何身份验证,以便用户必须输入一些凭据才能访问其数据?您应该以与存储用户电子邮件地址或密码相同的方式存储令牌,只有经过身份验证的用户才能访问它们.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...