简体   繁体   中英

Active Directory Authentication Library with Windows Universal App

Which version from ADAL should have or is planned to have support for UWP style applications?

Current stable version (2.18.206251556) gives me exception:

System.ExecutionEngineException was unhandled HResult=-2146233082
Message=Exception of type 'System.ExecutionEngineException' was thrown. InnerException:

When im trying to fetch token with following code:

    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;
    }

And latest version 3.4.206191646-alpha gives me error:

Severity Code Description Project File Line Error CS1503 Argument 3: cannot convert from 'System.Uri' to 'Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential' CloudScheduler

If have understood it correctly UserCredential parameter shouldn't be required as paramater and it should be using URI type instead.

Okay so I managed to get this working for the sample Todolist app. The overload for AcquireTokenAsync now requires a new PlatformParameters option to be passed in. Once you add that your good to go.

var p = new PlatformParameters(PromptBehavior.Always, false); 
AuthenticationResult result = await authContext.AcquireTokenAsync(todoListResourceId, clientId, redirectURI, p);

ADAL 2.18 should work with universal apps. What Win10/VS2015/Win10 tools versions are you using? Also, can you capture a log as explained in https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/blob/master/README.md and post it here? About 3.x - that's still an alpha. Please refer to https://github.com/AzureADSamples/NativeClient-MultiTarget-DotNet for how to use its API - however you should not need to use 3.x - 2.18 should work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM