Я пытаюсь использовать функцию интеграции oauth в моем приложении Hybrid и использую angularjs 1 с cordova.Я пытался использовать этот плагин https://github.com/EddyVerbruggen/cordova-plugin-safariviewcontroller вместе с https://github.com/EddyVerbruggen/Custom-URL-scheme
Но это не так просто и понятно для меня.У меня две проблемы
- Невозможно перенаправить в приложение после выполнения oauth.
- Как закрыть пользовательскую вкладку Chrome и получить данные в приложении после выполнения oauth.
Вот что я пытаюсь сделать.
Код на стороне клиента:
var options=[{url:oauthPostURL,hidden:false,animated:false}];
$scope.openUrl = function(options) {
console.log("inside openurl--");
var deferred = $q.defer();
try{
cordova.exec(
// success function
function(response){
deferred.resolve(response);
},
//failure function
function(response){
deferred.resolve(false);
},
"ChromeCustomTabPlugin", "show", options);
}catch(e){
console.log("error in corodva plugin ::"+e);
}
return deferred.promise;
}
function handleOpenURL(url) {
setTimeout(function() {
//SafariViewController.hide();
var data = decodeURIComponent(url.substr(url.indexOf('=')+1));
console.log('Browser data received: ' + data);
}, 0);
}
, кто будет вызывать эту функцию handleopenurl?
В плагине естьнет способа скрыть (), чтобы закрыть пользовательскую вкладку Chrome
ServerSide :
Я использую ChromeCustomTabPlugin.java из плагина, упомянутого выше
Пожалуйста, помогите мне бороться с 2 дня.Было бы здорово, если бы кто-нибудь смог привести пример из конца в конец