具有 Windows 通用应用程序的 Active Directory 身份验证库
Active Directory Authentication Library with Windows Universal App
ADAL 的哪个版本应该或计划支持 UWP 样式的应用程序?
当前稳定版本 (2.18.206251556) 出现异常:
System.ExecutionEngineException was unhandled HResult=-2146233082
Message=Exception of type 'System.ExecutionEngineException' was
thrown. InnerException:
当我尝试使用以下代码获取令牌时:
public async Task<string> GetOAuthTokenFromAAD()
{
var authenticationContext = new AuthenticationContext(String.Format("{0}/{1}", ADALServiceURL, TenantDomain));
var result = await authenticationContext.AcquireTokenAsync(string.Format("{0}/", ARMBillingServiceURL), ClientId, new Uri(ADALRedirectURL));
if (result == null)
{
throw new InvalidOperationException("Failed to obtain the JWT token");
}
return result.AccessToken;
}
最新版本 3.4.206191646-alpha 给我错误:
Severity Code Description Project File Line Error CS1503 Argument 3:
cannot convert from 'System.Uri' to
'Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential' CloudScheduler
如果理解正确,则不应要求将 UserCredential 参数作为参数,而应使用 URI 类型。
好的,所以我设法让示例 Todolist 应用程序正常工作。 AcquireTokenAsync 的重载现在需要传入一个新的 PlatformParameters 选项。一旦你添加了它,你就可以开始了。
var p = new PlatformParameters(PromptBehavior.Always, false);
AuthenticationResult result = await authContext.AcquireTokenAsync(todoListResourceId, clientId, redirectURI, p);
ADAL 2.18 应该适用于通用应用程序。您使用的 Win10/VS2015/Win10 工具版本是什么?此外,您能否按照 https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/blob/master/README.md 和 post 中的说明捕获日志?
关于 3.x - 这仍然是一个 alpha。请参阅 https://github.com/AzureADSamples/NativeClient-MultiTarget-DotNet 以了解如何使用其 API - 但是您不需要使用 3.x - 2.18 应该可以使用。
ADAL 的哪个版本应该或计划支持 UWP 样式的应用程序?
当前稳定版本 (2.18.206251556) 出现异常:
System.ExecutionEngineException was unhandled HResult=-2146233082
Message=Exception of type 'System.ExecutionEngineException' was thrown. InnerException:
当我尝试使用以下代码获取令牌时:
public async Task<string> GetOAuthTokenFromAAD()
{
var authenticationContext = new AuthenticationContext(String.Format("{0}/{1}", ADALServiceURL, TenantDomain));
var result = await authenticationContext.AcquireTokenAsync(string.Format("{0}/", ARMBillingServiceURL), ClientId, new Uri(ADALRedirectURL));
if (result == null)
{
throw new InvalidOperationException("Failed to obtain the JWT token");
}
return result.AccessToken;
}
最新版本 3.4.206191646-alpha 给我错误:
Severity Code Description Project File Line Error CS1503 Argument 3: cannot convert from 'System.Uri' to 'Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential' CloudScheduler
如果理解正确,则不应要求将 UserCredential 参数作为参数,而应使用 URI 类型。
好的,所以我设法让示例 Todolist 应用程序正常工作。 AcquireTokenAsync 的重载现在需要传入一个新的 PlatformParameters 选项。一旦你添加了它,你就可以开始了。
var p = new PlatformParameters(PromptBehavior.Always, false);
AuthenticationResult result = await authContext.AcquireTokenAsync(todoListResourceId, clientId, redirectURI, p);
ADAL 2.18 应该适用于通用应用程序。您使用的 Win10/VS2015/Win10 工具版本是什么?此外,您能否按照 https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/blob/master/README.md 和 post 中的说明捕获日志? 关于 3.x - 这仍然是一个 alpha。请参阅 https://github.com/AzureADSamples/NativeClient-MultiTarget-DotNet 以了解如何使用其 API - 但是您不需要使用 3.x - 2.18 应该可以使用。