Зарегистрируйте надстройку Office, которая использует единый вход (SSO) с помощью платформа удостоверений Майкрософт
В этой статье объясняется, как зарегистрировать надстройку Office в платформа удостоверений Майкрософт, чтобы можно было использовать единый вход. Зарегистрируйте надстройку при ее разработке, чтобы при переходе к тестированию или рабочей среде можно было изменить существующую регистрацию или создать отдельные регистрации для разработки, тестирования и рабочей версии надстройки.
В следующей таблице собраны сведения, необходимые для выполнения этой процедуры, а также соответствующие заполнители, которые отображаются в инструкциях.
Информация | Примеры | Заполнитель |
---|---|---|
Понятное для пользователя имя надстройки. (Уникальность рекомендуется, но не обязательна.) | Contoso Marketing Excel Add-in (Prod) |
<add-in-name> |
Идентификатор приложения, который Azure создает для вас в процессе регистрации. | c6c1f32b-5e55-4997-881a-753cc1d563b7 |
<app-id> |
Полное доменное имя надстройки (за исключением протокола). Необходимо использовать собственный домен. По этой причине нельзя использовать определенные известные домены, такие как azurewebsites.net или cloudapp.net . Домен должен быть таким же, как и все поддомены, как используется в URL-адресах в <разделе Ресурсы> манифеста надстройки. |
localhost:6789 , addins.contoso.com |
<fully-qualified-domain-name> |
Разрешения для платформа удостоверений Майкрософт и Microsoft Graph, необходимые вашей надстройке. (Разрешение profile требуется всегда.) |
profile , Files.Read.All |
Н/Д |
Предостережение
Конфиденциальная информация. URI идентификатора приложения (<fully-qualified-domain-name>
) регистрируется в процессе проверки подлинности при активации надстройки с использованием единого входа в Office, работающей в Microsoft Teams. Универсальный код ресурса (URI) не должен содержать конфиденциальную информацию.
Регистрация надстройки с помощью платформа удостоверений Майкрософт
Необходимо создать регистрацию приложения в Azure, представляющего веб-сервер. Это обеспечивает поддержку проверки подлинности, чтобы в коде клиента в JavaScript можно было выдавать правильные маркеры доступа. Эта регистрация поддерживает как единый вход в клиенте, так и резервную проверку подлинности с помощью библиотеки проверки подлинности Майкрософт (MSAL).
Войдите в портал Azure с учетными данными администратора в клиенте Microsoft 365. Например, MyName@contoso.onmicrosoft.com.
Выберите Регистрация приложений. Если значок не отображается, найдите "регистрация приложения" в строке поиска.
Появится страница регистрации приложений.
Выберите Новая регистрация.
Появится страница Регистрация приложения.
На страницеЗарегистрировать приложение задайте необходимые значения следующим образом.
- Введите имя
<add-in-name>
. - Задайте для значения Поддерживаемые типы учетных записейзначение Учетные записи в любом каталоге организации (любой каталог Azure AD — мультитенантный) и личных учетных записей Майкрософт (например, Skype, Xbox).
- Задайте URI перенаправления, чтобы использовать одностраничное приложение платформы (SPA), а URI — .
https://<fully-qualified-domain-name>/dialog.html
- Введите имя
Нажмите Зарегистрировать. Появится сообщение о том, что регистрация приложения создана.
Скопируйте и сохраните значения идентификатора приложения (клиента) и идентификатора каталога (клиента). Они понадобятся вам позже.
Добавление секрета клиента
Секрет клиента, который иногда называется паролем приложения, — это строковое значение, которое приложение может использовать вместо сертификата для идентификации себя.
В области слева выберите Сертификаты & секреты. Затем на вкладке Секреты клиента выберите Новый секрет клиента.
Откроется панель Добавление секрета клиента .
Добавьте описание секрета клиента.
Выберите срок действия секрета или укажите пользовательское время существования.
- Время существования секрета клиента ограничено двумя годами (24 месяцами) или менее. Нельзя указать пользовательское время существования, превышающее 24 месяца.
- Корпорация Майкрософт рекомендует установить срок действия менее 12 месяцев.
Нажмите Добавить. Создается новый секрет, а значение временно отображается.
Важно!
Запишите значение секрета для использования в коде клиентского приложения. Это значение секрета больше не отображается после выхода из этой области.
Предоставление веб-API
В области слева выберите Предоставить API.
Откроется панель Предоставление API .
Выберите Задать , чтобы создать универсальный код ресурса (URI) идентификатора приложения.
Раздел для задания URI идентификатора приложения отображается с созданным URI идентификатора приложения в формате
api://<app-id>
.Обновите URI идентификатора приложения на
api://<fully-qualified-domain-name>/<app-id>
.-
URI идентификатора приложения предварительно заполняется идентификатором приложения (GUID) в формате
api://<app-id>
. - Формат URI идентификатора приложения должен иметь следующий формат:
api://<fully-qualified-domain-name>/<app-id>
- Вставьте между
fully-qualified-domain-name
api://
и<app-id>
(который является GUID). Например,api://contoso.com/<app-id>
. - Если вы используете localhost, формат должен иметь формат
api://localhost:<port>/<app-id>
. Например,api://localhost:3000/c6c1f32b-5e55-4997-881a-753cc1d563b7
.
Дополнительные сведения о URI идентификатора приложения см. в разделе Идентификатор манифеста приложения.
Примечание.
Если возникает ошибка с сообщением о том, что домен уже занят, но при этом вы являетесь его владельцем, следуйте процедуре в статье Краткое руководство. Добавление имени личного домена в Azure Active Directory, чтобы зарегистрировать его, а затем повторите этот шаг. (Эта ошибка также может возникнуть, если вы не выполнили вход с учетными данными администратора в клиенте Microsoft 365. См. шаг 2. Выйдите и снова войдите с учетными данными администратора и повторите процесс из шага 3.)
-
URI идентификатора приложения предварительно заполняется идентификатором приложения (GUID) в формате
Добавление область
На странице Предоставление API выберите Добавить область.
Откроется панель Добавление область.
В области Добавление область укажите атрибуты область. В следующей таблице показаны примеры значений для надстройки и Outlook, для которых требуются
profile
разрешения ,openid
,Files.ReadWrite
иMail.Read
. Измените текст в соответствии с разрешениями, которые требуются надстройке.Поле Описание Values Имя области Имя область. Общее соглашение об именовании область — . resource.operation.constraint
Для единого входа необходимо задать значение access_as_user
.Кто может согласиться Определяет, требуется ли согласие администратора или пользователи могут предоставить согласие без одобрения администратора. Для изучения единого входа и примеров рекомендуется задать для этого параметра значение Администраторы и пользователи.
Выберите Администраторы только для более привилегированных разрешений.отображаемое имя согласия Администратор Краткое описание назначения область, видимое только администраторам. Read/write permissions to user files. Read permissions to user mail and profiles.
описание согласия Администратор Более подробное описание разрешения, предоставленного область, которое видят только администраторы. Allow Office to have read/write permissions to all user files and read permissions to all user mail. Office can call the app's web APIs as the current user.
Отображаемое имя согласия пользователя Краткое описание назначения область. Отображается для пользователей только в том случае, если для администраторов и пользователей задан параметр Кто может предоставить согласие. Read/write permissions to your files. Read permissions to your mail and profile.
Описание согласия пользователя Более подробное описание разрешения, предоставляемого область. Отображается для пользователей только в том случае, если для администраторов и пользователей задан параметр Кто может предоставить согласие. Allow Office to have read/write permissions to your files, and read permissions to your mail and profile.
Задайте для параметра Состояниезначение Включено, а затем выберите Добавить область.
Новый область, который вы определили, отображается на панели.
Примечание.
Доменная часть имени области, отображаемая непосредственно под текстовым полем, должна автоматически соответствовать URI идентификатора приложения, заданного на предыдущем шаге, с добавлением
/access_as_user
в конце, например:api://localhost:6789/c6c1f32b-5e55-4997-881a-753cc1d563b7/access_as_user
.Выберите Добавить клиентское приложение.
Откроется панель Добавление клиентского приложения .
В поле Идентификатор клиента введите
ea5a67f6-b6f3-4338-b240-c655ddc3cc8e
. Это значение предварительно разрешает все конечные точки приложений Microsoft Office. Если вы также хотите предварительно авторизовать Office при использовании в Microsoft Teams, добавьте1fec8e78-bce4-4aaf-ab1b-5451cc387264
(Microsoft Teams desktop и Teams mobile) и5e3ce6c0-2b1f-4285-8d4b-75ee78787346
(Teams в Интернете).Примечание.
Идентификатор
ea5a67f6-b6f3-4338-b240-c655ddc3cc8e
предварительно авторизует Office на всех следующих платформах. Кроме того, можно ввести соответствующее подмножество следующих идентификаторов, если по какой-либо причине вы хотите запретить авторизацию Office на некоторых платформах. В этом случае оставьте идентификаторы платформ, с которых вы хотите удержать авторизацию. Пользователи надстройки на этих платформах не смогут вызывать веб-API, но другие функции надстройки по-прежнему будут работать.-
d3590ed6-52b3-4102-aeff-aad2292ab01c
(Microsoft Office). -
93d53678-613d-4013-afc1-62e9e444a0a5
(Office в Интернете). -
bc59ab01-8403-45c6-8796-ac3ef710b3e3
(Outlook в Интернете).
-
В разделе Авторизованные области установите
api://<fully-qualified-domain-name>/<app-id>/access_as_user
флажок.Нажмите кнопку Добавить приложение.
Добавление разрешений Microsoft Graph
В области слева выберите Разрешения API.
Откроется область разрешений API .
Выберите Добавить разрешение.
Откроется область Запрашивать разрешения API .
Выберите Microsoft Graph.
Выберите Делегированные разрешения.
В поле поиска Выбор разрешений найдите разрешения, необходимые надстройке. Например, для надстройки Outlook можно использовать
profile
, ,openid
Files.ReadWrite
иMail.Read
.Примечание.
Разрешение
User.Read
может быть уже указано по умолчанию. Рекомендуется запрашивать только необходимые разрешения, поэтому рекомендуется снять флажок для этого разрешения, если надстройка не нуждается в нем.Установите флажки для каждого разрешения, как оно отображается. Обратите внимание, что разрешения не будут отображаться в списке при выборе каждого из них. Выбрав разрешения, необходимые надстройке, выберите Добавить разрешения.
Выберите Предоставить согласие администратора для [имя клиента]. Выберите Да , чтобы появилось подтверждение.
Настройка версии маркера доступа
Необходимо определить версию маркера доступа, приемлемую для вашего приложения. Эта конфигурация выполняется в манифесте приложения Azure Active Directory.
Определение версии маркера доступа
Версия маркера доступа может измениться, если вы выбрали тип учетной записи, отличной от Учетные записи в любом каталоге организации (любой каталог Azure AD — мультитенантный), и личные учетные записи Майкрософт (например, Skype, Xbox). Выполните следующие действия, чтобы убедиться, что версия маркера доступа правильна для использования единого входа Office.
В левой области выберите Манифест.
Откроется манифест приложения Azure Active Directory.
Введите 2 в качестве значения свойства
accessTokenAcceptedVersion
.Нажмите кнопку Сохранить.
В браузере появится сообщение об успешном обновлении манифеста.
Поздравляем! Вы завершили регистрацию приложения, чтобы включить единый вход для надстройки Office.
Office Add-ins