Twitter OAuth通过弹出窗口

Mat*_*ord 29 javascript twitter iframe oauth

我想知道如何通过弹出窗口执行twitter OAuth,即在弹出窗口中加载Oauth页面并使回调关闭子窗口并重新加载父窗口.

编辑:好的iframe很糟糕,但是你如何完成上述工作,我注意到posterous.com这样做 - 我希望实现与FB连接相同的流程.

mor*_*des 62

今天为雅虎做同样的事......

  1. 打开一个弹出窗口
  2. 将用户发送到twitter进行身份验证
  3. Twitter将用户返回到mysite.com/authcompleted.php,在查询字符串中包含身份验证参数.还在这里的弹出窗口.
  4. 弹出窗口(mysite.com/authcompleted.html)读取查询字符串并通过javascript将数据发送到开启窗口

    window.opener.setTwitterAuthData(yourData)

  5. 在主窗口中的setTwitterAuthData内,设置适当的表单字段并将数据提交给服务器.


Jor*_*ing 6

你不应该这样做.将其加载到IFrame中会隐藏用户的URL,这使他们很难确认他们是在twitter.com上输入密码而不是第三方(即网上诱骗)网站.

  • 如果您尚未登录,则会询问您的密码. (4认同)
  • 在非登录页面上有iframe破坏JS,它要求您输入密码(第37行) (3认同)
  • 我原则上同意,但auth页面只允许允许|| 拒绝此应用程序按钮 - 它不会要求您输入密码.因此,从安全角度来看,为什么它应该是一个问题,同时帮助用户体验流程. (2认同)
  • Twitter的OAuth页面现在使用`X-Frame-Options`标头来防止将其加载到iframe中:) (2认同)