Я использую ADAL в своем приложении UWP для Win10. Вот фрагмент кода:Ошибка AcquireTokenAsync в приложении UWP
// WinRT, UWP app. Doesn't work
TokenCache TC = new TokenCache();
authContext = new AuthenticationContext(authority, true, TC);
var authresult = await authContext.AcquireTokenAsync(resourceUri, clientID, new Uri(redirectUri));
token = authresult.AccessToken;
Иногда это не удается из-за ошибки, никогда не воспитывая окно аутентификации:
authentication_ui_failed: The browser based authentication dialog failed to complete. Value does not fall within the expected range.
Иногда это вызвать окно аутентификации, но не перенаправлять, производство:
"authentication_ui_failed: The browser based authentication dialog failed to complete. The system cannot locate the resource specified. (Exception from HRESULT: 0x800C0005)"
Это использует версию WinRT библиотеки. Аналогичный код, используя версию .NET отлично работает с консольным приложения:
// .NET, console app. Works great
TokenCache TC = new TokenCache();
authContext = new AuthenticationContext(authority, TC);
var authresult = authContext.AcquireToken(resourceUri, clientID, new Uri(redirectUri));
token = authresult.AccessToken;
Спасибо, что мне не хватало «Private Networks (Client & Server)». После включения второй ошибки (0x800C0005) исчезает. Первая ошибка («Значение не входит в ожидаемый диапазон») все еще случается. Кроме того, несмотря на то, что мои учетные данные не являются критичными, мои учетные данные не сохраняются, в отличие от консольного приложения, поэтому я должен каждый раз вводить имя пользователя и пароль. Использование пользовательского кеша не является существенным для моего приложения, я проверил, что это не влияет на проблему. – arturl