У нас проблемы с аутентификацией AD Azure с использованием cordova-plugin-ms-adal на iOS13. Это из приложения Cordova, упакованного и установленного через магазин приложений. Он отлично работает на iOS12 и Android, но на iOS13 он молча завершается сбоем, в результате чего появляется «пустая страница», так как ни один из обратных вызовов не запускается.
Ниже приведен пример кода со страницы документации плагина для иллюстрации , Обе команды acquTokenSilentAsyn c и acquTokenAsyn c (если вызываться напрямую) завершаются с ошибкой, но не вызывают никаких обратных вызовов.
Я знаю, что плагин ADAL cordova больше не поддерживается Microsoft (с марта 2019), но я пытаюсь установить sh, может ли плагин каким-то образом использоваться с iOS13 или нам нужно было бы переключиться на какой-то другой механизм (например, MSAL)?
Короче, кто-нибудь знает наверняка можно ли сделать плагин cordova-plugin-ms-adal для работы с iOS13, для упакованного приложения cordova, и если нет, то что будет хорошей заменой?
// Shows user authentication dialog if required
function authenticate(authCompletedCallback, errorCallback) {
var authContext = new Microsoft.ADAL.AuthenticationContext(authority);
authContext.tokenCache.readItems().then(function (items) {
if (items.length > 0) {
authority = items[0].authority;
authContext = new Microsoft.ADAL.AuthenticationContext(authority);
}
// Attempt to authorize user silently
authContext.acquireTokenSilentAsync(resourceUri, clientId)
.then(authCompletedCallback, function () {
// We require user credentials so triggers authentication dialog
authContext.acquireTokenAsync(resourceUri, clientId, redirectUri)
.then(authCompletedCallback, errorCallback);
});
});
};
authenticate(function(authResponse) {
console.log("Token acquired: " + authResponse.accessToken);
console.log("Token will expire on: " + authResponse.expiresOn);
}, function(err) {
console.log("Failed to authenticate: " + err);
});