cordova插件ms adal和iOS13存在问题

cordova插件ms adal和iOS13存在问题,cordova,ios13,adal,msal,msal.js,Cordova,Ios13,Adal,Msal,Msal.js,我们在iOS13上使用cordova插件ms adal进行AD Azure身份验证时遇到问题。这来自cordova应用程序,通过app store打包并安装在上。它在iOS12和Android上运行良好,但在iOS13上它会无声地失败,导致“空白页”,因为没有触发任何回调 下面是示例代码,来自插件文档页面,用于演示。“acquireTokenSilentAsync”和“acquireTokenAsync”(如果直接调用)都会失败,但不会触发任何错误回调 我知道微软不再支持ADAL cordova

我们在iOS13上使用cordova插件ms adal进行AD Azure身份验证时遇到问题。这来自cordova应用程序,通过app store打包并安装在上。它在iOS12和Android上运行良好,但在iOS13上它会无声地失败,导致“空白页”,因为没有触发任何回调

下面是示例代码,来自插件文档页面,用于演示。“acquireTokenSilentAsync”和“acquireTokenAsync”(如果直接调用)都会失败,但不会触发任何错误回调

我知道微软不再支持ADAL cordova插件(自2019年3月起),但我正在尝试确定该插件是否可以与iOS13一起使用,或者我们是否必须切换到其他机制(如MSAL)

简言之,是否有人确切地知道cordova插件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);
});

由于处于存档状态且不再受支持,因此最好将应用程序移动到。此外,您可以在存储库中找到该插件的AngularJS/Angular包装版本。此实现具有与Cordova版本类似的方法。唯一的区别是,您不需要将其作为Cordova插件添加,而是作为JavaScript依赖项添加。

在设备就绪的函数中使用它,它可以正常工作

示例:-

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
  Call your authentication code
}

等等,但是你不能访问操作系统的共享adal缓存。。。?