Registo de ID de Cliente da Impressora Universal (UP)

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

O Universal Print suporta o 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 delegadas

Âmbito String de exibição Description Consentimento de Administrador Necessário
Impressoras.Criar Crie e registe 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

Âmbito String de exibição Description Consentimento de Administrador Necessá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 escreva 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.Read 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.
    • Impressoras.Criar [Delegado]
    • Printers.Read [Aplicação]
    • PrinterProperties.ReadWrite [Aplicativo]
    • PrintJob.ReadWriteBasic [Aplicativo]
    • PrintJob.Read [Aplicação]

Registar nova candidatura

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 "Microsoft APIs".

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 Editor de Aplicativo Cliente de Impressora OEM

Por padrão, o aplicativo registrado terá um editor "não verificado". Se não for alterado, 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

Nota

Assim que este ID de Aplicação Cliente de Impressora estiver integrado no código em execução na impressora, na primeira vez que uma impressora que utilize este ID estiver a registar-se no Universal Print num inquilino de cliente, o Administrador será solicitado a consentir esta aplicação.

Quando o domínio do editor é 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

Uma vez que as etapas acima tenham sido concluídas, você pode 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 as permissões de API necessárias

app manifest

  1. Localizar requiredResourceAccess secçã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 Description
Scope 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 de Ler.
B695614A-52EC-4835-9E13-BDF5FF4C7448 O ID de PrintJob.permissão de Ler.
11f87dac-027f-4d76-bd29-1ea1536b93da A ID da permissão PrintJob.ReadWriteBasic.

add permission scopes to manifest

  • Guarde as alterações.