Я написал надстройку Outlook, которая выполняет вход на сервер Exchange нашей компании, и все работает хорошо. Вход осуществляется с использованием учетных данных текущего пользователя:
service.UseDefaultCredentials = true;
service.AutodiscoverUrl( Environment.UserName + "@CompanyDomain.com", RedirectionCallback );
Сейчас моя компания переносит учетные записи на Exchange Online. Согласно документации , UseDefaultCredentials
нельзя использовать с Exchange Online, вместо этого должно быть установлено свойство Credentials
, что можно сделать:
service.Credentials = new System.Net.NetworkCredential( "UserUpn@CompanyDomain.com", password );
, но я хочу взять учетные данные текущего пользователя, чтобы пользователю не приходилось снова вводить свой пароль. До перехода на Exchange Online service.UseDefaultCredentials
помогал, но теперь мне нужен новый трюк.