我正在尝试创建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;
});
当我尝试验证时弹出:
这是控制台错误:
这是Oauth.io域名:
这是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>
帮助我!
答案 0 :(得分:3)
chrome-extension不是域名,而是一种方案。这就是为什么它不起作用的原因。
在此处查看此答案: https://github.com/oauth-io/oauthd/issues/52
您需要使用
"externally_connectable": {
"matches": ["https://oauth.io/*"]
},
在清单中,然后chrome.sendMessage
将被允许执行。