php - 他们是如何在这里应用 Twitter oAuth 的?

标签 php javascript twitter

我刚刚使用 PHP 成功地为我的 Twitter 应用程序创建了 oAuth 身份验证。

然后我看到了this site我很惊讶他们如何打开一个新窗口,关闭那个窗口,然后在初始窗口中继续请求?!有人可以用一些 Javascript 解释一下(我猜他们正在使用这个)他们是怎么做到的吗?!

我注意到当第二个窗口关闭时,他们发出了两个 GET 请求。

我希望能够做这样的事情,因为我的用户可以在我的网站上写内容,我不希望这些内容被删除。有没有更好的方法不那么突兀? (窗口突然打开)。如果没有,我将使用他们的方法,因为我想不出任何其他方法。

谢谢大家

最佳答案

这是与此相关的 JavaScript 代码部分:

TG.util.oauth = {
    win: null,
    timer: null,
    loginUpdate: function() {
        $.getJSON('/-login/check?format=json', TG.util.oauth.loginCallback);
    },
    loginCallback: function(data) {
        if (data && data.loggedin) {
            TG.util.login.update(data);
        }
    },
    winCheck: function() {
        if (!TG.util.oauth.win || TG.util.oauth.win.closed) {
            window.clearInterval(TG.util.oauth.timer);
            return TG.util.oauth.loginUpdate();
        }
    },
    loginClick: function() {
        TG.util.oauth.win = window.open('/-oauth-twitter/request?gotoafter=1&gotor=oauthtwitter&gotop=action%3Dwindowend', 
            'OAuthTwitterRequest', 
            'menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes,width=800,height=400');
        if (!TG.util.oauth.win) return true;

        TG.util.oauth.timer = window.setInterval(TG.util.oauth.winCheck, 300);
        return false;
    }
};

TG.util.oauth.win = window.open('/-oauth-twitter/request?gotoafter=1&gotor=oauthtwitter&gotop=action%3Dwindowend','OAuthTwitterRequest','menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes,width=800,height=400');
打开处理登录的 oAuth 窗口

if (!TG.util.oauth.win) return true;
如果窗口未打开(我猜),则返回 true。

TG.util.oauth.timer = window.setInterval(TG.util.oauth.winCheck, 300);
生成一个计时器,每 300 毫秒检查一次登录是否完成。

关于php - 他们是如何在这里应用 Twitter oAuth 的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1061108/

相关文章:

Javascript - 基于dom中的图像构建数组

python - 从Python中的配置文件读取 token

php - 从表中选择,其中列是 PHP 中的外键

php - 无法将字符串解析为 JSON 对象,无法显示来自 javascript 的警告框

php - 循环遍历 URL 参数并添加到 mySQL

PHP 批处理

javascript - OpenCV.js - 为 CascadeClassifier 创建一个 RectVector 对象

javascript - 这是否容易受到基于 dom 的 xss 攻击?

android - 推特:无法获取请求 token

html - Twitter 关注按钮在 Chrome 27 及更低版本中无法正常工作