Compartilhar via


Registro de ID do Cliente de Impressora Universal Print (UP)

Permissões necessárias da API do aplicativo cliente da impressora OEM

A Impressão Universal dá suporte ao token de acesso de autorização OAuth2 emitido pelo Azure. O desenvolvimento de uma impressora pronta para impressão universal requer que o OEM registre um aplicativo cliente no Azure com o conjunto necessário de permissões. OAuth2 define 2 tipos de solicitações de permissão .

Permissões de escopo delegado

Escopo Cadeia de Exibição Descrição Consentimento do administrador obrigatório
Impressoras.Criar Crie e registre uma nova impressora. Permite que o aplicativo crie e registre uma impressora em nome do usuário conectado. Sim

Permissões de escopo do aplicativo

Escopo Cadeia de Exibição Descrição Consentimento do administrador obrigatório
Impressoras.Leia Leia as impressoras às quais a conta tem acesso. Permite que o aplicativo leia as impressoras sem um usuário conectado. Sim
PrinterProperties.ReadWrite Ler e gravar propriedades e atributos da impressora aos quais a conta tem acesso. Permite que o aplicativo leia e grave propriedades e atributos da impressora sem um usuário conectado. Sim
PrintJob.ReadWriteBasic Leia e grave os metadados do trabalho de impressão. Permite que o aplicativo leia e grave os metadados dos trabalhos de impressão dos usuários sem um usuário conectado. Sim
PrintJob.Leia Leia os metadados e a carga útil do trabalho de impressão. Permite que o aplicativo leia os metadados e a carga útil dos trabalhos de impressão dos usuários sem um usuário conectado. Sim

Registro de aplicativo cliente de impressora OEM

  1. Crie um aplicativo multilocatário usando o locatário de desenvolvimento de aplicativos da sua empresa.
  2. Configure o aplicativo multilocatário para solicitar o conjunto necessário de escopos de permissão, conforme definido acima.
    • Printers.Create [Delegado]
    • Printers.Read [Aplicativo]
    • PrinterProperties.ReadWrite [Aplicativo]
    • PrintJob.ReadWriteBasic [Aplicativo]
    • PrintJob.Read [Aplicação]

Cadastrar novo aplicativo

new app registration

completing the registration

Copie o ID do aplicativo registrado para uso posterior

save client ID

Definir configuração de autenticação de aplicativo

configure app auth setting

Adicionar permissões de API necessárias usando o portal do Azure

add permissions

Depois de clicar no botão "Adicionar uma permissão", um submenu aparecerá no lado direito. No submenu, selecione "APIs da Microsoft".

Microsoft API

Você provavelmente precisará rolar para baixo no submenu para encontrar "Universal Print"

Universal Print API

Adicione as permissões mencionadas acima.

Delegated permissions

Application permissions

Quando as permissões necessárias são adicionadas, as permissões do aplicativo devem ter a seguinte aparência:

API permissions

Consulte 'Opção alternativa' se estiver procurando outra maneira de configurar as permissões da API.

Atualizar o Publicador de Aplicativo Cliente de Impressora OEM

Por padrão, o aplicativo registrado terá um editor "não verificado". Se permanecer inalterado, os clientes verão "não verificado" na caixa de diálogo de consentimento de permissão. Siga Como : Configurar o domínio do editor de um aplicativo para definir o editor do aplicativo.

Para referência rápida, as etapas principais são:

application branding page

updated application domain

Observação

Depois que essa ID do Aplicativo Cliente de Impressora for integrada ao código em execução na impressora, na primeira vez que uma impressora que usa essa ID estiver se registrando no Universal Print em um locatário do cliente, o Administrador será solicitado a consentir esse aplicativo.

Quando o domínio do editor for atualizado para um domínio validado, a caixa de diálogo de consentimento de solicitação de permissão do aplicativo exibirá o valor do domínio validado.

application admin consent

Exemplo de solicitação de autenticação de dispositivo OAuth 2.0

Depois que as etapas acima forem concluídas, você poderá solicitar a verificação emitindo uma solicitação HTTP POST para https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode com uma sintaxe de corpo HTTP de

  • 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

Opção alternativa para adicionar permissões de API necessárias

app manifest

  1. Localizar requiredResourceAccess seção no manifesto
  2. Copie e cole as seguintes permissões de API necessárias no manifesto. A maneira mais simples é substituir toda requiredResourceAccess a seção do manifesto.
"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"
            }
        ]
    }
],
Valor Descrição
Escopo Esse acesso a recursos é definido para usar o escopo de permissão delegada.
Função Esse acesso a recursos é definido para usar o escopo de permissão do aplicativo.
DA9B70F6-5323-4CE6-AE5C-88DCC5082966 A ID da Impressão Universal na nuvem global do Azure.
3e306194-d6c5-43ad-afbb-0e7b16a9c10b A ID da permissão Printers.Create.
1c90a3a7-465b-49c4-adcc-c8ac83d3d3f8 A ID da permissão PrinterProperties.ReadWrite.
2B1BDD6B-9A0F-47C6-A806-B3E20CFD07A8 O ID de Printers.permissão Leitura.
B695614A-52EC-4835-9E13-BDF5FF4C7448 O ID de PrintJob.permissão Leitura.
11F87DAC-027F-4D76-BD29-1EA1536B93DA A ID da permissão PrintJob.ReadWriteBasic.

add permission scopes to manifest

  • Salve as alterações.