【问题标题】:Rails gem for token authentication of outside data?Rails gem 用于外部数据的令牌认证?
【发布时间】: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


    【解决方案1】:

    我认为更好的方法是不使用注册表单,而只是让人们使用 twitter 登录。你真的需要他们在注册论坛上手动填写一些在他们使用 twitter 登录时无法自动检索的内容吗?

    【讨论】:

    • 然后假设一切都来自 twitter,并让表单只询问信用信息。
    • 我不确定我是否遵循假设的意思-基本上我的问题是我需要以某种方式在表单提交中包含他们的 twitter id,目前我从 twitter auth 获取服务器端,但是制作它们用 twitter 登录正在阻止很多人。同样,如果我只是将他们的 id 以纯文本形式放在注册链接 url 中,他们可以修改它并发送一个无效的 id 或不是他们自己的。我基本上是在尝试将他们的 CC 与他们的 twitter id 关联起来,以便稍后重用,而无需额外重新输入
    猜你喜欢
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    相关资源
    最近更新 更多