gpt4 book ai didi

javascript - Web 小部件的 Twitter OAuth 回调问题

转载 作者:行者123 更新时间:2023-11-28 02:51:23 24 4
gpt4 key购买 nike

我们的网站允许用户创建可以嵌入其他第三方网站的小部件。当最终用户在某个网站上与我们的小部件交互时,我们希望代表他/她发布 Twitter 更新,然后在小部件本身上向用户显示一条消息(前提是 Twitter 更新成功)。我们一直使用带有基本身份验证的 twitter api 来执行此操作(我们在小部件本身内询问用户的用户名和密码)。现在 twitter 已完全转向 OAuth,我们创建了一个 twitter 应用程序来使用 OAuth API。

现在,解决此问题的一种方法是将我们的 Twitter 应用程序注册为客户端应用程序(而不是浏览器应用程序)。为此,可能的流程是,我们要求用户转到一个网址(单击链接并在新窗口中打开),然后在 Twitter 上进行身份验证,向我们的应用程序授予权限,然后返回小部件并输入 Twitter 提供的 PIN 。这很麻烦。

另一种方法是将应用程序注册为网络应用程序。一旦用户进行身份验证并授予权限(在作为链接单击打开的新窗口中),我们要求 Twitter 使用访问 token 和其他信息重定向到我们自己的自定义 URL(需要为用户发推文)。所以,发推文应该没问题。但是,如何通知小部件(在原始窗口的 iframe 中运行)推文是否成功?

我可以想到基于轮询的解决方案,但必须有更好的方法,对吧?

此外,我无法使用 window.open(而不是带有 href = 和 target = _blank 的链接),因为浏览器将它们视为弹出窗口并阻止它们。

最佳答案

有 2 个选项(我个人使用其中之一)。

  1. 您可以存储刚刚使用 session 中的 token 进行身份验证的事实(在回调脚本/页面中),并且在您的 iframe 页面中使用 JavaScript 计时器检查另一个脚本(通过 AJAX)是否 session 是否已设置 - 如果已设置,则 iframe 将知道它已成功。

  2. 第二个选项是做同样的事情,除了检查数据库是否已存储(不使用 session )。

不过,我建议选择第一个选项。

关于javascript - Web 小部件的 Twitter OAuth 回调问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3685023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com