Проблема. Никак не получается авторизоваться

Коллеги, добрый день!

 

Проблема с ExchangeListener, никак не удаётся победить.

Exchange локальный, все виды авторизации включены.

Сервис ExchangeListener развернут, проверки проходят успешно.

Изображение удалено.

При попытке добавить ящик, в интерфейсе вываливается ошибка

"Указан неправильный email или пароль"

Изображение удалено.

Пробовал различным образом вводить логин. И полный email, и  domain\username.

В настройке провайдера в блоке Формат логина пробовал и использовать email, и формировать вручную.

Не помогает.

Изображение удалено.

Попытки авторизоваться в exchangeOWA и exchange/ews/exchange.asmx - проходят успешно по базовой авторизации.

В логах на вебе Creatio вижу ошибку, которую отдаёт Exchange. Такое ощущение, что ему прилетает что-то очень неожиданное.

2021-11-01 12:32:04,970 [87] WARN NT AUTHORITY\NETWORK SERVICE IsServerValid - Mailbox maxim.sedov@***.ru didn't pass validation with these credentials, info: Microsoft.Exchange.WebServices.Data.ServiceRequestException: The request failed. Resource temporarily unavailable Resource temporarily unavailable

 ---> System.Net.WebException: Resource temporarily unavailable Resource temporarily unavailable

 ---> System.Net.Http.HttpRequestException: Resource temporarily unavailable

 ---> System.Net.Sockets.SocketException (11): Resource temporarily unavailable

   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)

   --- End of inner exception stack trace ---

   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)

   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)

   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)

   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)

   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)

   at System.Net.Http.AuthenticationHelper.SendWithAuthAsync(HttpRequestMessage request, Uri authUri, ICredentials credentials, Boolean preAuthenticate, Boolean isProxyAuth, Boolean doRequestAuth, HttpConnectionPool pool, CancellationToken cancellationToken)

   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)

   at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)

   at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)

   at System.Net.HttpWebRequest.SendRequest()

   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

   --- End of inner exception stack trace ---

   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

   at System.Net.WebRequest.<>c.b__68_2(IAsyncResult iar)

   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)

--- End of stack trace from previous location where exception was thrown ---

   at Microsoft.Exchange.WebServices.Data.EwsHttpWebRequest.Microsoft.Exchange.WebServices.Data.IEwsHttpWebRequest.GetResponse()

   at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)

   --- End of inner exception stack trace ---

   at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)

   at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest()

   at Microsoft.Exchange.WebServices.Data.SimpleServiceRequestBase.InternalExecuteAsync()

   at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.ExecuteAsync()

   at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder(FolderId folderId, PropertySet propertySet)

   at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder[TFolder](FolderId folderId, PropertySet propertySet)

   at ExchangeListener.EwsApi.ExchangeListenerService.b__5_0() in /src/ExchangeListener/EwsApi/ExchangeListenerService.cs:line 80

   at ListenerBase.Utils.Tracking.TimeElapsedProfiler.MeasureTime(Func`1 action) in /src/ListenerBase/Utils/Tracking/TimeElapsedProfiler.cs:line 23

   at ExchangeListener.EwsApi.ExchangeListenerService.ValidateSynchronizationCredentials() in /src/ExchangeListener/EwsApi/ExchangeListenerService.cs:line 78

   at ListenerBase.Service.Service.Validate() in /src/ListenerBase/Service/Service.cs:line 224

 

Куда рыть?

Идеи уже кончились.

 

Спасибо!

Нравится

5 комментариев
Лучший ответ

Максим, судя по записи из логов, синхронизацию блокирует именно почтовый сервер. Проверьте, пожалуйста, следующее: 



1. Используется ли двухфакторная авторизация для входа в почтовый аккаунт? 

2. Не блокирует ли почтовый сервер адрес Creatio? 

3. Нет ли нюансов по работе с ресурсами в плане SSL? Возможно сервер не может доверять Вашему экземпляру приложения по этой причине.

4. Проверьте доступность к почтовому сервису из микросервиса Exchange listener. Есть несколько вариантов:

 

   - http://cweiske.de/tagebuch/curl-mail.htm (только добавьте аутентификацию)



-v --user "логин:пароль" --login-options AUTH=PLAIN

 

Полный пример:

curl smtps://адрес сервера smtp -v --user "логин ящика:пароль" --login-options AUTH=PLAIN 



    - либо второй вариант:

 

curl адрес почтового сервера.

Максим, добрый день!



Подскажите, пожалуйста, какую версию Creatio Вы используете?

Lev Kuptsov, добрый день! 7.18.4.1532

Максим, судя по записи из логов, синхронизацию блокирует именно почтовый сервер. Проверьте, пожалуйста, следующее: 



1. Используется ли двухфакторная авторизация для входа в почтовый аккаунт? 

2. Не блокирует ли почтовый сервер адрес Creatio? 

3. Нет ли нюансов по работе с ресурсами в плане SSL? Возможно сервер не может доверять Вашему экземпляру приложения по этой причине.

4. Проверьте доступность к почтовому сервису из микросервиса Exchange listener. Есть несколько вариантов:

 

   - http://cweiske.de/tagebuch/curl-mail.htm (только добавьте аутентификацию)



-v --user "логин:пароль" --login-options AUTH=PLAIN

 

Полный пример:

curl smtps://адрес сервера smtp -v --user "логин ящика:пароль" --login-options AUTH=PLAIN 



    - либо второй вариант:

 

curl адрес почтового сервера.

Максим Седов,

Приветствую, удалось победить проблему? столкнулся с тем же самым.

Бакалов Павел Вячеславович,

Да, привет! Победили. сервис был развёрнут в кубе. В кубе был неправильно настроен DNS. Сервис ходил не на Exchange, а куда-то еще. Как раз продиагностировали по вышеуказанному мануалу.

Показать все комментарии