Ошибка проверки подлинности токена надстройки Outlook для локального обмена - PullRequest
0 голосов
/ 20 ноября 2018

Я использую Office.js getCallbackTokenAsync для загрузки токена для передачи в бэкэнд.

В бэкэнде я использую EWS для получения данных электронной почты.Вот как я выполняю аутентификацию.

ExchangeService service = new ExchangeService();
service.Url = new Uri(ewsUrl); //retrieved from getCallbackTokenAsync
service.Credentials = new OAuthCredentials(ewsToken);// retrieved from getCallbackTokenAsync

Это хорошо работает в обмен онлайн среде.Однако при тестировании на локальном сервере обмена я получил эту ошибку аутентификации:

Error Message: The remote server returned an error: (401) Unauthorized.
Stack Trace:   at System.Net.HttpWebRequest.GetResponse() at Microsoft.Exchange.WebServices.Data.EwsHttpWebRequest.Microsoft.Exchange.WebServices.Data.IEwsHttpWebRequest.GetResponse() at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)

Затем я обнаружил, что doc говорит, что аутентификация Oauth2 предназначена только для онлайн-обмена.Я предполагаю, что мне нужно использовать этот NTLM (только локальный Exchange).

Основная причина, по которой я использую EWS вместо Graph или Rest, заключается в более естественной поддержке локального сервера.Так я должен изменить аутентификацию здесь?Я, конечно же, не хочу спрашивать у пользователя имя пользователя и пароль.

Или мне нужно что-то сделать (может быть, пользовательскую конфигурацию), чтобы локальный сервер обмена Exchange поддерживал аутентификацию токена?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...