2017-01-25 14 views
0

Стек:Как интегрировать приложение AngularJS с Microsoft Exchange через узел?

  • Клиент: AngularJS & Firebase
  • Сервер 1: Microsoft Exchange Server
  • Сервер 2: NodeJS

AngularJS приложение свободно взаимодействует с NodeJS через асинхронном task-queues. Клиент напрямую не взаимодействует с экземплярами NodeJS.

Проблема:

Выполнение простых операций на календаре пользователя, с задачей в очереди на клиенте и выполняется на экземпляре NodeJS.

Что я пробовал:

  1. ews-javascript-api: Работает хорошо, за исключением того, не существует обтекаемый механизм аутентификации. То есть, он не поддерживает аутентификацию OAuth. На мой взгляд, управление учетными данными Exchange каждого пользователя не является подходящим решением.
  2. Анонсы событий Подписка: (Тем не менее оценка этого подхода.)

Я думаю, в основном, что я пытаюсь сделать, это иметь Пользователь подписаться на события календаря в моем приложении. Я не против писать API для веб-служб Exchange, но, похоже, это излишний.

Я буду продолжать работать над этим, но если кто-нибудь знает более простое решение, было бы весьма полезно.

+0

btw, поддержка Oauth для Exchange/EWS ограничена версией Office 365. нет Oauth для сервера Exchange на месте –

ответ

1

Я являюсь автором библиотеки ews-javascript-api.

Вы посмотрели https://stackoverflow.com/a/43785262/5884960? Я представил информацию о том, как использовать OAuth в ответе на вопрос в ссылке. Предостережение заключается в том, что вы должны иметь на борту каждый Office 365 отдельно, вы не можете запускать демон узла и подключаться к нескольким организациям Office 365 (без сложной настройки среды с организацией на этапах посадки). Это причуды требований Office 365 OAuth, которые не ограничиваются самой библиотекой. C# версия есть такой же ограничение.

Я предоставил другую библиотеку для вспомогательных аутентификаций для ntlm и файлов cookie, для Office 365 вам просто нужен ews-javascript-api.