chi*_*eye 6 twitter oauth google-chrome-extension google-chrome-devtools
我想出了如何获取登录按钮并通过 php 代码重定向。但是,Chrome Dev 只允许客户端代码。如何使用我的 Chrome 应用程序的客户端代码通过 twitter 登录?
有没有办法为 Chrome 应用程序运行 php 代码?
为此,您可以使用Chrome Identity API 。查看非 Google 帐户身份验证,了解有关使用 API 函数发出请求的简单说明launchWebAuthFlow。
以前,有用于实现 OAuth 流程的客户端库,如此处所述oauth2-extensions,但幸运的是,这不再需要了。
我一直在尝试找到一个适用于 Twitter 的示例,但还没有完全实现。Twitter 似乎没有与预期的 OAuth2 URL 匹配的 API 端点。我认为就 Twitter 而言,您可能必须使用 OAuth 1.0a,毕竟这需要一个库。我找到了一个叫CodeBird的。不过,我会尝试进一步调查。
您需要使用 向您的提供商注册客户端https://abcdefghijklmnopqrstuvwxyzabcdef.chromiumapp.org/intagram_cb,其中“abcdefghijklmnopqrstuvwxyzabcdef”替换为您的扩展 ID,并且intagram_cb是路径的名称,以便能够区分您希望在扩展中进行身份验证的其他提供商。如果只有一个,那么可以省略它。
将提供者添加到文件中的权限属性中manifest.json:
"permissions": [
"*://*.instagram.com/*"
]
Run Code Online (Sandbox Code Playgroud)
获取访问令牌。client_id您从提供商帐户获取令牌:
var redirect_uri = chrome.identity.getRedirectURL("intagram_cb");
var client_id = "123456789012345";
var auth_url = "https://instagram.com/oauth/authorize/?" +
"client_id=" + client_id + "&" +
"response_type=token&" +
"redirect_uri=" + encodeURIComponent(redirect_uri);
chrome.identity.launchWebAuthFlow({'url':auth_url, 'interactive': true},
function(redirect_url) {
// extract the token from this url and use it for future requests
var accessToken = redirect_url.substring(redirect_url.indexOf("=") + 1);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
783 次 |
| 最近记录: |