Ton*_*ony 5 ruby twitter ruby-on-rails oauth
我正在为我的用户在rails代码推文上实现一些ruby.我正在创建适当的oauth链接...类似于
http://twitter.com/oauth/authorize?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv
但是,在我的测试帐户授予对twitter的访问权限之后,它会打开一个页面,说"您已成功授予访问权限.只需返回并输入以下PIN即可完成此过程."1234567"
我不知道用户应该在哪里输入此PIN以及为什么他们必须这样做.我不认为这应该是必要的一步.Twitter应该将用户重定向到我在应用程序设置中提供的回调URL.有谁知道为什么会这样?
更新 我发现这篇文章指出我需要将我的用户发送到此URL(注意"authenticate"而不是"authorize"):
http://twitter.com/oauth/authenticate?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv
我做了更改,但Twitter点击"允许"后再将用户重定向到授权路径,然后再次给他7位数的PIN码!
OAuth 1.0a添加了PIN以解决OAuth 1.0容易受到攻击的社会工程攻击.但是,如果您的应用程序是桌面/ iPhone应用程序,则只需要用户手动输入PIN.如果它是一个Web应用程序,PIN应该作为浏览器重定向的一部分自动流动,用户不应该看到或输入它.
因此,如果您的应用是一个网络应用,那么您的OAuth库或您使用它时就会出现错误.如果您的应用是桌面应用,则这是一项旨在确保用户安全的"功能".
如果您没有使用oauth_callback您希望用户在接受时重定向到的URL 指定参数,则默认使用基于引脚的身份验证机制.使用oauth_callback=oob还将触发基于引脚的身份验证流程.
| 归档时间: | 
 | 
| 查看次数: | 5771 次 | 
| 最近记录: |