gpt4 book ai didi

google-chrome - Chrome 扩展程序的 Twitter OAuth 回调 URL

转载 作者:行者123 更新时间:2023-12-02 22:54:37 32 4
gpt4 key购买 nike

我正在尝试开发一个 Chrome 扩展程序,人们可以在其中使用 Twitter 帐户登录(使用 OAuth 1.0A)。

到目前为止,我尚未在 Twitter 应用程序设置中提供回调 URL,因此用户会返回一个 PIN,以便在扩展程序上输入以完成授权过程。但我不想在扩展中实现最终的 PIN 验证步骤。

相反,我希望一旦用户被重定向到 Twitter 并授权应用程序访问他的帐户,他就会自动登录到扩展程序并可以使用它来发布推文。

我知道我应该定义一个回调 URL,但我不知道该使用什么。我已经挣扎了好几天,期间我尝试了多种方法(例如 chrome://extensions/extension_id/但 Twitter 不接受它)。我没能找到解决方案。

知道回调 URL 应该是什么吗?什么应该包含该 URL 指向的文件?

最佳答案

我知道这已经非常古老了,但我也遇到了同样的问题,并最终找到了如何做到这一点,所以希望这可以帮助其他找到此问题的人。

在 Twitter 应用程序配置中,您必须向域添加回调 URL。然后,在您的 chrome 扩展中,您必须有一个注入(inject)同一域的内容脚本。内容脚本将具有一些逻辑,用于解析身份验证 token 的查询字符串并将其作为消息发送到后台脚本。然后,在后台脚本中,您可以使用这些 token 来获取实际的 oauth token ,然后将其保存到本地存储或 chrome.storage。

这是一个简短的示例:

  1. 在您的manifest.json中,确保您的内容脚本与您在Twitter应用程序设置回调URL中输入的域相匹配:

    "content_scripts": [{
    "matches": ["https://andyjiang.com/*"],
    "js": ["js/session.js"]
    }]
  2. 然后,在您的 js/session.js 文件中,包含以下逻辑:

    chrome.runtime.sendMessage({type: 'auth', session: 
    window.location.search.substr(1)}, function(response) {
    window.open('', '_self', '');
    window.close();
    });
  3. 在后台脚本中,有一些逻辑来监听消息、获取 token ,并使用 Twitter 的 API 进行 oauth 过程的第三阶段,最终获取 oauth token 和 oauth token secret ,您可以然后保存在localStorage或chrome.storage中。

希望有帮助。如果您想尝试一下,这里是示例代码。

https://github.com/lambtron/chrome-extension-twitter-oauth-example

关于google-chrome - Chrome 扩展程序的 Twitter OAuth 回调 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23116370/

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