Варианты проверки подлинности в надстройках Outlook

Надстройка Outlook может получать доступ к данным из любого расположения в Интернете с сервера, на котором размещается надстройка, из внутренней сети или из другого места в облаке. Если эти сведения защищены, то надстройке нужен способ проверки подлинности пользователя. Надстройки Outlook предоставляют несколько различных способов проверки подлинности для разных сценариев.

Маркер доступа единого входа с помощью потока OBO

Маркеры доступа единого входа предоставляют надстройке Outlook удобный способ проверки подлинности и получения маркеров доступа для вызова API Microsoft Graph. Эта возможность повышает удобство работы, так как пользователю не требуется вводить свои учетные данные. Поток on-behalf-of можно использовать с сервером среднего уровня или вложенной проверкой подлинности приложения (описано в следующем разделе).

Примечание.

Единый вход с помощью потока OBO в настоящее время поддерживается для Word, Excel, Outlook и PowerPoint. Дополнительные сведения о поддержке см. в разделе Наборы требований IdentityAPI. Если вы работаете с надстройкой Outlook, обязательно включите современную проверку подлинности для клиента Microsoft 365. Сведения о том, как это сделать, см. в статье Включение или отключение современной проверки подлинности для Outlook в Exchange Online.

Рекомендуем использовать маркеры единого входа в таких случаях:

  • В основном надстройку применяют пользователи Microsoft 365.
  • Надстройке требуется доступ к следующему:
    • службам Майкрософт, предоставляемым в составе Microsoft Graph;
    • сторонней службе, которой управляете вы.

Метод проверки подлинности для единого входа использует поток "от имени" OAuth2, предоставленный службой Azure Active Directory. Для этого требуется, чтобы надстройка зарегистрировала на портале регистрации приложений и указала все необходимые области Microsoft Graph в манифесте надстройки, если используется только манифест надстройки. Если надстройка использует унифицированный манифест для Microsoft 365, существует определенная конфигурация манифеста, но области Microsoft Graph не указаны. Вместо этого необходимые области указываются во время выполнения в вызове для получения маркера в Microsoft Graph.

Так надстройка может получить маркер доступа, действующий во внутреннем API сервера. Надстройка использует этот маркер в качестве токена носителя в заголовке Authorization, чтобы выполнять проверку подлинности обратного вызова API. После этого сервер сможет следующее:

  • выполнить поток "от имени", чтобы получить маркер доступа, действующий в API Microsoft Graph;
  • использовать сведения об удостоверении в маркере для определения удостоверения пользователя и проверки подлинности во внутренних службах.

Дополнительные сведения см. в полном обзоре способа проверки подлинности с единым входом.

Дополнительные сведения об использовании маркера единого входа в надстройке Outlook см. в статье Проверка подлинности пользователя с помощью маркера единого входа в надстройке Outlook.

Пример надстройки, использующей маркер единого входа, см. в статье Единый вход надстройки Outlook.

Маркер доступа для единого входа с использованием проверки подлинности вложенного приложения (предварительная версия)

Проверка подлинности вложенных приложений (NAA) включает единый Sign-On (SSO) для надстроек Office, работающих в контексте собственных приложений Office. По сравнению с потоком on-behalf-of, используемым с Office.js и getAccessToken(), NAA обеспечивает большую гибкость в архитектуре приложений, позволяя создавать многофункциональные клиентские приложения. NAA упрощает обработку единого входа для кода надстройки. NAA позволяет выполнять вызовы Microsoft Graph из клиентского кода надстройки в качестве SPA без необходимости использовать сервер среднего уровня. Нет необходимости использовать Office.js API, так как NAA предоставляется библиотекой MSAL.js.

Важно!

Проверка подлинности вложенных приложений в настоящее время доступна в предварительной версии. Чтобы попробовать эту функцию, присоединитесь к программе предварительной оценки Microsoft 365. Затем выберите Текущий канал (предварительная версия) в поддерживаемом приложении Microsoft 365. Не используйте NAA в рабочих надстройках. Мы приглашаем вас опробовать NAA в тестовой среде или среде разработки и приветствовать отзывы о вашем опыте через GitHub (см. раздел Отзывы в конце этой страницы).

Сведения о том, как разрешить надстройке Outlook использовать NAA, см. в статье Включение единого входа в надстройке Office с помощью вложенной проверки подлинности приложения (предварительная версия). NAA работает одинаково во всех надстройках Office.

Получение маркера удостоверения Exchange

Важно!

Устаревшие токены Exchange устарели. Начиная с октября 2024 г. устаревшие удостоверения пользователя Exchange и маркеры обратного вызова начнут отключать для клиентов Exchange Online. Временная шкала и сведения см. на странице часто задаваемых вопросов. Это часть инициативы Майкрософт по обеспечению безопасности в будущем, которая предоставляет организациям средства, необходимые для реагирования на текущую среду угроз. Маркеры удостоверений пользователей Exchange по-прежнему будут работать в локальной среде Exchange. Проверка подлинности вложенных приложений — это рекомендуемый подход к токенам в будущем.

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

  • если надстройку в основном применяют локальные пользователи Exchange;
  • если надстройке требуется доступ к управляемой вами сторонней службе;
  • в качестве резервной проверки подлинности при запуске надстройки в версии Office, не поддерживающей единый вход.

Надстройка может вызывать метод getUserIdentityTokenAsync, чтобы получать маркеры удостоверений пользователей Exchange. Сведения об использовании этих маркеров см. в статье Проверка подлинности пользователя с помощью маркера удостоверения для Exchange.

Маркеры доступа, полученные через потоки OAuth2

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

  • надстройке требуется доступ к службе, которой вы не управляете.

Если вы применяете этот способ, надстройка предлагает пользователю войти в службу, используя метод displayDialogAsync для инициализации потока OAuth2.

Маркеры обратного вызова

Важно!

Устаревшие токены Exchange устарели. Начиная с октября 2024 г. устаревшие удостоверения пользователя Exchange и маркеры обратного вызова начнут отключать для клиентов Exchange Online. Временная шкала и сведения см. на странице часто задаваемых вопросов. Это часть инициативы Майкрософт по обеспечению безопасности в будущем, которая предоставляет организациям средства, необходимые для реагирования на текущую среду угроз. Маркеры удостоверений пользователей Exchange по-прежнему будут работать в локальной среде Exchange. Проверка подлинности вложенных приложений — это рекомендуемый подход к токенам в будущем.

Маркеры обратного вызова предоставляют доступ к почтовому ящику пользователя на внутреннем сервере при использовании веб-служб Exchange (EWS) или REST API для Outlook. Рекомендуем использовать маркеры обратного вызова в таких случаях:

  • надстройке требуется доступ к почтовому ящику пользователя на внутреннем сервере.

Надстройки получают маркеры обратного вызова с помощью одного из методов getCallbackTokenAsync. Уровень доступа контролируется при помощи разрешений, указываемых в манифесте надстройки.