如何在(Firefox)WebExtension中调试OAuth2身份验证流?

时间:2019-02-18 08:44:23

标签: javascript oauth firefox-webextensions

我为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服务器是否可能处于脱机状态?

0 个答案:

没有答案