Регистрация идентификатора клиента принтера универсальной печати (UP)

Необходимые разрешения API клиентского приложения принтера OEM

Универсальная печать поддерживает маркер доступа к авторизации OAuth2, выданный Azure. Для разработки принтера универсальной печати требуется, чтобы OEM зарегистрировал клиентское приложение в Azure с необходимым набором разрешений. OAuth2 определяет 2 типа запросов разрешений .

Делегированные разрешения области

Область Отображаемая строка Description Требуется согласие администратора
Printers.Create Создайте и зарегистрируйте новый принтер. Позволяет приложению создавать и зарегистрировать принтер от имени вошедшего пользователя. Да

Разрешения области приложения

Область Отображаемая строка Description Требуется согласие администратора
Printers.Read Считывать принтеры, к которых у учетной записи есть доступ. Позволяет приложению считывать принтеры без вошедшего пользователя. Да
PrinterProperties.ReadWrite Доступ к свойствам и атрибутам принтера считывания и записи. Позволяет приложению считывать и записывать свойства и атрибуты принтера без вошедшего пользователя. Да
PrintJob.ReadWriteBasic Чтение и запись метаданных задания печати. Позволяет приложению считывать и записывать метаданные заданий печати пользователей без входа пользователя. Да
PrintJob.Read Чтение метаданных задания печати и полезных данных. Позволяет приложению считывать метаданные и полезные данные заданий печати пользователей без вошедшего пользователя. Да

Регистрация клиентских приложений принтера OEM

  1. Создайте мультитенантное приложение с помощью клиента разработки приложений вашей компании.
  2. Настройте мультитенантное приложение для запроса требуемого набора разрешений область, как описано выше.
    • Printers.Create [Делегировано]
    • Printers.Read [Приложение]
    • PrinterProperties.ReadWrite [Приложение]
    • PrintJob.ReadWriteBasic [Application]
    • PrintJob.Read [Приложение]

Регистрация нового приложения

new app registration

completing the registration

Скопируйте зарегистрированный идентификатор приложения для последующего использования

save client ID

Настройка параметра проверки подлинности приложения

configure app auth setting

Добавление необходимых разрешений API с помощью портал Azure

add permissions

После нажатия кнопки "Добавить разрешение" всплывающий элемент появится справа. В всплывающем элементе выберите "API Майкрософт".

Microsoft API

Скорее всего, вам потребуется прокрутить вниз в всплывающем элементе, чтобы найти "Универсальная печать"

Universal Print API

Добавьте разрешения, упоминание указанные выше.

Delegated permissions

Application permissions

При добавлении необходимых разрешений разрешения приложения должны выглядеть следующим образом:

API permissions

Если вы ищете другой способ настройки разрешений API, см. раздел "Альтернативный вариант".

Обновление издателя клиентского приложения принтера OEM

По умолчанию зарегистрированное приложение будет иметь "неверифицированного" издателя. Если оставить без изменений, клиенты увидят "неотверенную" в диалоговом окне согласия на разрешение. Следуйте инструкциям . Настройка домена издателя приложения для задания издателя приложения.

Для быстрого получения справки основные шаги:

application branding page

updated application domain

Примечание.

После интеграции этого идентификатора клиентского приложения принтера в код, запущенный на принтере, при первом регистрации принтера в клиенте универсальной печати будет предложено предоставить этому приложению Администратор istrator.

При обновлении домена издателя до проверенного домена диалоговое окно согласия запроса на разрешение приложения отобразит проверенное значение домена.

application admin consent

Пример запроса проверки подлинности устройства OAuth 2.0

После завершения описанных выше действий можно запросить проверку, выпустив HTTP-запрос https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode POST для синтаксиса текста HTTP

  • client_id={registered printer client ID}&scope=https%3A%2F%2Fprint.print.microsoft.com%2F.default
POST https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com

client_id=3e41cb36-3180-4566-bf3d-51ec873419e5&scope=https%3A%2F%2Fprint.print.microsoft.com%2F.default

Альтернативный параметр для добавления необходимых разрешений API

app manifest

  1. Поиск requiredResourceAccess раздела в манифесте
  2. Скопируйте и вставьте следующие необходимые разрешения API в манифест. Самый простой способ заключается в замене всего requiredResourceAccess раздела манифеста.
"requiredResourceAccess": [
    {
        "resourceAppId": "da9b70f6-5323-4ce6-ae5c-88dcc5082966",
        "resourceAccess": [
            {
                "id": "3e306194-d6c5-43ad-afbb-0e7b16a9c10b",
                "type": "Scope"
            },
            {
                "id": "1c90a3a7-465b-49c4-adcc-c8ac83d3d3f8",
                "type": "Role"
            },
            {
                "id": "2b1bdd6b-9a0f-47c6-a806-b3e20cfd07a8",
                "type": "Role"
            },
            {
                "id": "b695614a-52ec-4835-9e13-bdf5ff4c7448",
                "type": "Role"
            },
            {
                "id": "11f87dac-027f-4d76-bd29-1ea1536b93da",
                "type": "Role"
            }
        ]
    }
],
значение Описание
Область действия Этот доступ к ресурсам определен для использования делегированного разрешения область.
Роль Этот доступ к ресурсам определяется для использования разрешения приложения область.
da9b70f6-5323-4ce6-ae5c-88dcc5082966 Идентификатор универсальной печати в глобальном облаке Azure.
3e306194-d6c5-43ad-afbb-0e7b16a9c10b Идентификатор разрешения Printers.Create.
1c90a3a7-465b-49c4-adcc-c8ac83d3d3d3f8 Идентификатор разрешения PrinterProperties.ReadWrite.
2b1bdd6b-9a0f-47c6-a806-b3e20cfd07a8 Идентификатор разрешения Printers.Read.
b695614a-52ec-4835-9e13-bdf5ff4c7448 Идентификатор разрешения PrintJob.Read.
11f87dac-027f-4d76-bd29-1ea1536b93da Идентификатор разрешения PrintJob.ReadWriteBasic.

add permission scopes to manifest

  • Сохраните изменения.