【发布时间】:2014-04-21 01:17:01
【问题描述】:
我将通过我的用例描述我的问题——我(使用 tweetstream gem)在推送的基础上接收和处理推文,并且对于其中一些事件,我通过一个注册表单的链接回复用户对于我的网站。目前,用户必须先在我的网站上通过 twitter 进行身份验证,然后才能提交注册表单,以便我可以安全地验证他们拥有他们声称的 twitter 帐户。
但是,这会阻止很多转换,所以我想删除使用 twitter 登录的步骤。我当时的想法是,在收到事件时,我可以用我存储的随机字符串散列他们的 twitter user_id,然后将该散列(令牌)作为查询参数添加到注册链接上。该链接会将令牌自动填充到注册表单中的隐藏字段中,因此(我认为?)允许我们在提交表单时再次验证用户的 twitter id。
对此的一个警告是,有人可以使用其他用户的注册链接并以他们的身份出现,但在我们的案例中,这不是问题,因为由于注册数据的性质。恶意这样做是没有意义的,并且是无意的,我们可以通过在表单上突出显示明显的 twitter 句柄来做到这一点。帐户访问后注册仍需要使用 twitter 登录,因此这也不是问题。
那么我的问题是,这似乎是一种合理的方法,是否有任何具有此功能或有用的 rails gem? (我认为基本上是真实性令牌保护工作原理的自定义版本)谢谢!
【问题讨论】:
标签: ruby-on-rails security authentication twitter