У меня есть служба WCF, которая должна в конечном итоге получить токен, чтобы поговорить с веб-службой api, размещенной в лазурной. Активный каталог на локальном сервере синхронизируется с нашей лазурной учетной записью.Код авторизации Active Directory Azure
Изначально у меня была игра в приложении выиграть формы и получил маркер успешно используя следующие:
AuthenticationResult authResult = authContext.AcquireToken(apiResourceId, clientId, redirectUri);
Это хотя выскочило диалоговое окно входа в систему, так не много пользы для обслуживания окон. Затем я исследовал использование AcquireTokenSilent(). Это, однако, продолжало бросать исключение, говоря мне, чтобы я позвонил в компанию AcquireToken так, чтобы вернуться к квадрату 1.
Следующим портом захода было посмотреть AcquireTokenByAuthorizationCode(). Моя проблема заключается в том, как получить код авторизации, который является первым параметром.
Я пробовал:
var url = authContext.GetAuthorizationRequestURL(apiResourceId, clientId, redirectUri, UserIdentifier.AnyUser, string.Empty);
HttpClient hc = new HttpClient();
HttpResponseMessage hrm = hc.GetAsync(url).Result;
Это хотя просто возвращает HTML-страницу показ я думаю майкрософт страницу входа в систему. Он, конечно, не содержит никакого кода.
Любые идеи о том, что я делаю неправильно?
Будет ли это означать, что каждые 90 дней мне нужно выполнить другую интерактивную проверку подлинности? – DasDave
сегодня, да. Тем не менее, мы работаем над механизмами контроля продолжительности токенов обновления, которые позволят вам продлить продолжительность произвольно. Однако ETA для этой функции на данный момент. – vibronet
Образец отлично работает! О каких ограничениях вы говорите? – DasDave