我为Firefox编写了一个WebExtension
插件,该插件通过一些外部API进行了身份验证。该扩展已经运行了一段时间,但是突然间身份验证流程被破坏了。服务的登录页面显示良好,我可以登录,并且该页面调用扩展程序的redirect_uri
(至少我可以在浏览器状态栏中看到对该URI的请求)。登录弹出窗口然后关闭。但是,我的扩展承诺从未实现,并且没有错误消息显示。
const REDIRECT_URL = browser.identity.getRedirectURL();
const SECRET = "MY_SECRET";
const CLIENT_ID = "MY_ID";
const AUTH_URL = `https://API_URL/authorize?client_id=${CLIENT_ID}&response_type=token&redirect_uri=${encodeURIComponent(REDIRECT_URL)}&scope=all`;
function extractAccessToken(redirectUri) {
// never called...
}
function authorize() {
return browser.identity.launchWebAuthFlow({
interactive: true,
url: AUTH_URL
});
}
function getAccessToken() {
return authorize().then(extractAccessToken);
}
以上是我的验证码。 extractAccessToken
从未被调用过,并且在客户端方面什么也没有发生,尽管我很确定认证成功。如何调试出问题的那一步?
编辑:WebExtension redirect_uri
类似于https://ID.extensions.allizom.org
,如果我只是尝试在浏览器的地址栏中键入它,我将得到404。Mozilla服务器是否可能处于脱机状态?