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

Единый вход (SSO) упрощает проверку подлинности пользователей в надстройке (и, при необходимости, получение маркеров доступа для вызова API Microsoft Graph).

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

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

Общие сведения о едином входе в надстройках Office см. в статье Включение единого входа для надстроек Office (тестовый режим) и Авторизация для Microsoft Graph в надстройке Office.

Включение современной проверки подлинности в клиенте Microsoft 365

Чтобы использовать единый вход с надстройкой Outlook, необходимо включить современную проверку подлинности для клиента Microsoft 365. Сведения о том, как это сделать, см. в статье Включение или отключение современной проверки подлинности для Outlook в Exchange Online.

Регистрация надстройки

Чтобы использовать единый вход, надстройке Outlook потребуется серверный веб-API, зарегистрированный в Azure Active Directory (AAD) версии 2.0. Дополнительные сведения см. в статье Регистрация надстройки Office, использующей единый вход с конечной точкой Microsoft Azure AD версии 2.0.

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

Обновление манифеста надстройки

Следующим шагом для включения единого входа в надстройке является добавление некоторых сведений в манифест из регистрации платформа удостоверений Майкрософт надстройки. Разметка зависит от типа манифеста.

  • XML-манифест. Добавьте WebApplicationInfo элемент в конец VersionOverridesV1_1 элемента VersionOverrides. Затем добавьте необходимые дочерние элементы. Подробные сведения о разметке см. в разделе Настройка надстройки.

  • Унифицированный манифест для Microsoft 365 (предварительная версия): добавьте свойство webApplicationInfo в корневой { ... } объект манифеста. Присвойте этому объекту дочернее свойство id, присвоенное идентификатору приложения веб-приложения надстройки, которое было создано в портал Azure при регистрации надстройки. (См. раздел Регистрация надстройки ранее в этой статье.) Кроме того, присвойте ему дочернее свойство resource, которое имеет тот же URI идентификатора приложения , который вы задали при регистрации надстройки. Этот URI должен иметь форму api://<fully-qualified-domain-name>/<application-id>. Ниже приведен пример.

    "webApplicationInfo": {
          "id": "a661fed9-f33d-4e95-b6cf-624a34a2f51d",
          "resource": "api://addin.contoso.com/a661fed9-f33d-4e95-b6cf-624a34a2f51d"
      },
    

Получение маркера единого входа

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

Использование маркера единого входа во внутренней службе

В большинстве случаев практически нет смысла получать маркер доступа, если надстройка не передает его на сторону сервера и не использует его там. Дополнительные сведения о том, какие действия должны выполняться на стороне сервера, а какие нет, см. в разделе Добавление серверного кода.

Важно!

При использовании маркера единого входа в качестве удостоверения в Outlook рекомендуем также использовать маркер удостоверения Exchange в качестве альтернативного удостоверения. Пользователи надстройки могут использовать различные клиенты, не все и которых поддерживают предоставление маркера единого входа. Если в качестве альтернативы используется маркер удостоверения Exchange, вы можете избежать повторного запрашивания учетных данных этих пользователей. Дополнительные сведения см. в статье Сценарий: реализация единого входа для службы в надстройке Outlook.

Единый вход для активации на основе событий или интегрированных отчетов о нежелательной почте

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

См. также