Попытка аутентификации пользователей в моем ионном приложении через внешнюю службу, и мне нужно использовать cordovas В браузере приложений! Код отлично работает на Android, однако на iOS событие «loadstop» никогда не срабатывает, и, таким образом, браузер никогда не перенаправляет себя обратно в приложение. Код, который у меня есть, выглядит следующим образом:Кордоба В приложении Браузер не запускается IOS
$rootScope.$on('$cordovaInAppBrowser:loadstop', function (e, event) {
console.log('inappbrowser loaded', event);
var regex = /* regex to determine if url is correct redirected url */
var res = regex.test(event.url);
alert('loaded: ' + event.url);
alert('regex result: ' + res);
if(res === true) {
$cordovaInAppBrowser.close();
}
});
if(okta) {
if (typeof window.localStorage.msRefreshToken === 'undefined') {
document.addEventListener('deviceready', function() {
$cordovaInAppBrowser.open('urlforExternalservicehere', '_blank', options);
}, false);
} else {
TokenStore.refreshAccessToken();
}
}
При запуске кода на экране не появляется предупреждение. Кроме того, как только приложение достигло внешней службы и пользовательское имя пользователя введено, оно затем перенаправляется на другой URL-адрес, который затем будет использовать другой набор учетных данных для аутентификации. Это, в свою очередь, возвращает токен приложения для аутентификации.
Таким образом, в идеальном мире iOS, где он соответствует текущему опыту Android, событие loadstop срабатывает три раза, а в третий раз срабатывает событие loadstop, и регулярное выражение вернет true и закроет в приложении broswer.
Если мне нужно предоставить больше кода, чтобы помочь решить эту проблему, пожалуйста, дайте мне знать!
Cordova Version: 4.2.0
Ionic: 1.4.5
iOS: 8 and 9
Using NgCordova for Cordova functionality
UPDATE: при запуске приложения на эмуляторе и проверки журналов консоли, я нахожу эту ошибку:
Error: Module cordova-plugin-inappbrowser.inappbrowser does not exist., http://10.117.1.46:8100/cordova.js , Line: 1402
я установил плагин, так что я не знаю, как его не хватает плагин , У кого-нибудь есть средство для этого? Благодаря!
не работал к сожалению. Спасибо за предложение! – MattA
@MattA Вы могли найти решение этой проблемы. Я столкнулся с тем же –