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

Когда надстройка Outlook реализует активацию на основе событий или интегрированные отчеты о спаме, события выполняются в отдельной среде выполнения. Чтобы настроить единый вход (SSO) или запросить внешние данные через общий доступ к ресурсам между источниками (CORS) в этих надстройках, необходимо настроить хорошо известный URI. С помощью этого ресурса Office сможет определить надстройки, включая файлы JavaScript, которые поддерживают единый вход или запросы CORS.

Примечание.

Действия, описанные в этой статье, применяются только к надстройкам Outlook, работающим в классической версии Outlook в Windows. Это связано с тем, что классический Outlook в Windows использует файл JavaScript, а Outlook на Mac, в Интернете и новый Outlook в Windows используют HTML-файл, который ссылается на тот же файл JavaScript. Дополнительные сведения см. в разделах Настройка надстройки Outlook для активации на основе событий и Реализация интегрированной надстройки отчетов о спаме.

Перечисление разрешенных надстроек в хорошо известном URI

Чтобы получить список надстроек, которым разрешено работать с единым входом или CORS, создайте JSON-файл, определяющий каждый файл JavaScript для каждой надстройки. Затем разместите этот JSON-файл по хорошо известному URI. Хорошо известный универсальный код ресурса (URI) позволяет определить все размещенные JS-файлы, которым разрешено получать маркеры для текущего источника веб-сайта. Это гарантирует, что владелец источника имеет полный контроль над тем, какие размещенные файлы JavaScript предназначены для использования в надстройке, а какие нет, предотвращая, например, уязвимости системы безопасности, связанные с олицетворением.

В следующем примере показано, как настроить единый вход или CORS для двух надстроек (основной и бета-версии). В зависимости от количества предоставленных на веб-сервере надстроек можно перечислить любое количество надстроек.

{
    "allowed":
    [
        "https://addin.contoso.com:8000/main/js/autorun.js",
        "https://addin.contoso.com:8000/beta/js/autorun.js"
    ]
}

Разместите JSON-файл в расположении .well-known в URI в корне источника. Например, если источником является https://addin.contoso.com:8000/, то хорошо известным URI является https://addin.contoso.com:8000/.well-known/microsoft-officeaddins-allowed.json. Для уточнения этот файл должен размещаться в веб-надстройке Office, а не на веб-сервере, на который вы пытаетесь выполнить запрос CORS. Пример использования рекомендуемого расположения см. в примере outlook-add-in-SSO-events .

Источник ссылается на шаблон схемы + поддомен + домен + порт. Имя расположения должно быть .well-known, а имя файла ресурсов microsoft-officeaddins-allowed.json. Этот файл должен содержать объект JSON с атрибутом с именем , allowed значением которого является массив всех файлов JavaScript, авторизованных для единого входа для соответствующих надстроек.

После настройки известного URI, если надстройка реализует единый вход, можно вызвать API getAccessToken() для получения маркера доступа с удостоверением пользователя.

Важно!

Хотя OfficeRuntime.auth.getAccessToken и Office.auth.getAccessToken выполняют те же функции получения маркера доступа, мы рекомендуем вызывать OfficeRuntime.auth.getAccessToken в надстройке на основе событий или отчетов о спаме (предварительная версия). Этот API поддерживается во всех клиентских версиях Outlook, поддерживающих активацию на основе событий, интегрированные отчеты о нежелательной почте и единый вход. С другой стороны, Office.auth.getAccessToken поддерживается только в классической версии Outlook для Windows, начиная с версии 2111 (сборка 14701.20000).

См. также