在app浏览器中没有关闭Ionic 3

时间:2018-02-05 13:48:05

标签: typescript ionic-framework oauth ionic3

我在某个网站上按了一个课程从网络身份验证中获取令牌。

我按下一个按钮,在应用程序浏览器打开,我输入我的ID和密码,重定向,但我的浏览器没有关闭。我不明白为什么。

这是我的代码:

public apiMessages(): Promise<any>{
return new Promise(function(resolve, reject) {

    var browserRef = window.cordova.InAppBrowser.open("https://test.api.test.fr/v1/oauth2/authorize?client_id=XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX&response_type=token&redirect_uri=https://test.api.test.fr/redirect");
    browserRef.addEventListener("loadstart", (event) => {
        if ((event.url).indexOf("https://test.api.test.fr/redirect") === 0) {
            browserRef.removeEventListener("exit", (event) => {});
            browserRef.close();
            var responseParameters = ((event.url).split("#")[1]).split("&");
            var parsedResponse = {};

            for (var i = 0; i < responseParameters.length; i++) {
                parsedResponse[responseParameters[i].split("=")[0]] = responseParameters[i].split("=")[1];
            }
            if (parsedResponse["access_token"] !== undefined && parsedResponse["access_token"] !== null) {
                resolve(parsedResponse);

            } else {
                reject("Problem authenticating ");
            }

        }
    });
    browserRef.addEventListener("exit", function(event) {
        reject("The sign in flow was canceled");
    });
});
}

我不知道为什么这个

if ((event.url).indexOf("https://test.api.test.fr/redirect") === 0)

不工作......

好的,这不是if的问题,而是browserRef.close() 函数close什么都不做

0 个答案:

没有答案