oauth.io(oauth.js)与Chrome扩展程序

时间:2014-04-26 16:50:17

标签: google-chrome-extension oauth github-api

我正在尝试创建Chrome扩展程序。需要使用github进行身份验证。

我目前正在使用oauth.js进行身份验证,使用chrome extension boilerplate http://extensionizr.com/

当我在localhost上尝试我的代码时,我可以毫无问题地进行身份验证。

这是我的oauth代码:

OAuth.initialize('my key');
    OAuth.popup('github', {
        cache: true
    }, function(error, success) {
        console.log(error)
        that.auth_token = success.access_token;
    });

当我尝试验证时弹出: popup

这是控制台错误: error

这是Oauth.io域名: enter image description here

这是rquest respose

<!DOCTYPE html>
<html>
    <head>
        <script>
            (function() {
                "use strict";
            var msg="{\"status\":\"error\",\"message\":\"Origin \\\"chrome-extension://bfhbkhhimmcbjgofifofjgbjaojgbihj/\\\" does not match any registered domain/url on oauth.io\",\"state\":\"181DBPf5s84Q6s3rjMJHuiqSlPY\",\"provider\":\"github\"}";
            chrome.runtime.sendMessage("bfhbkhhimmcbjgofifofjgbjaojgbihj", {data:msg});
                window.close();
            })();
            </script>
        </head>
    <body></body>
</html>

帮助我!

1 个答案:

答案 0 :(得分:3)

chrome-extension不是域名,而是一种方案。这就是为什么它不起作用的原因。

在此处查看此答案: https://github.com/oauth-io/oauthd/issues/52

您需要使用

"externally_connectable": {
    "matches": ["https://oauth.io/*"]
},

在清单中,然后chrome.sendMessage将被允许执行。