我已将此问题的问题添加到https://github.com/AzureAD/azure-activedirectory-library-for-cordova,但我没有收到任何回复,因此我会在此处尝试。
我正在尝试让我的Cordova应用程序使用AAD,但我无法让它适用于Windows / Windows Mobile目标。
当我调用插件时,它将尝试调用本机方法,并且我收到错误:'不是有效的Win32应用程序'。在我的手机上,错误消息是:'系统找不到指定的文件'。这种情况发生在我自己的应用程序中,但也是当我从“样本”中运行样本时文件夹中。
Repro详情:
我正在使用Cordova 6.1.1,我尝试了0.7.1和0.7.2-dev版本的插件。
定位Windows 10和Windows Phone(Universal)平台时出错。 Android工作正常。
我在笔记本电脑上使用Windows Insider Preview Build 14361(以及之前的版本)测试了这个,我的手机使用Windows Insiders Build 14256和Emulators运行两个版本10240和10586.
从命令行使用Cordova时以及使用Visual Studio Cordova Tools(版本14.0.60527.5,在Visual Studio Enterprise 2015 14.0.25123.00 2015 Update 2中运行)时会出现此问题。
< / LI> 醇>我没有启用SSO选项。
点击了“创建身份验证上下文”后,我附加了示例应用程序的输出。按钮。
从示例中添加了简化代码,可在https://github.com/AzureAD/azure-activedirectory-library-for-cordova/tree/master/sample
找到var AuthenticationContext;
var authority = 'https://login.windows.net/test353.onmicrosoft.com';
var resourceUrl = 'https://graph.windows.net/';
var appId = '1eed60fd-93bf-44c3-948b-d419b32b5ed6';
var redirectUrl = 'http://localhost:4400/services/aad/redirectTarget.html';
var tenantName = 'test353.onmicrosoft.com';
var endpointUrl = resourceUrl + tenantName;
var app = {
// Application Constructor
initialize: function () {
this.bindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function () {
document.addEventListener('deviceready', app.onDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function () {
// app.receivedEvent('deviceready');
AuthenticationContext = Microsoft.ADAL.AuthenticationContext;
this.createContext();
},
createContext: function() {
AuthenticationContext.createAsync(authority)
.then(function (context) { app.authContext = context; }, app.error);
},
error: function(e) {
alert(e.message);
}
};