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

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

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

Маркеры доступа единого входа предоставляют надстройке Outlook удобный способ проверки подлинности и получения маркеров доступа для вызова microsoft API 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.

Примечание.

Если надстройка использует манифест Unified для Microsoft 365 (предварительная версия), существует некоторая конфигурация манифеста, но области 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 (https://insider.microsoft365.com/join) и выберите канал бета-версии. Не используйте NAA в рабочих надстройках. Мы приглашаем вас опробовать NAA в тестовой среде или среде разработки и приветствовать отзывы о вашем опыте через GitHub (см. раздел Отзывы в конце этой страницы).

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

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

Важно!

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

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

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

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

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

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

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

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

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

Важно!

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

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

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

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