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
- Crie um aplicativo multilocatário usando o locatário de desenvolvimento de aplicativos da sua empresa.
- 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
Copie o ID do aplicativo registrado para uso posterior
Definir configuração de autenticação de aplicativo
Adicionar permissões de API necessárias usando o portal do Azure
Depois de clicar no botão "Adicionar uma permissão", um submenu aparecerá no lado direito. No submenu, selecione "APIs da Microsoft".
Você provavelmente precisará rolar para baixo no submenu para encontrar "Universal Print"
Adicione as permissões mencionadas acima.
Quando as permissões necessárias são adicionadas, as permissões do aplicativo devem ter a seguinte aparência:
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:
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.
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
- Localizar
requiredResourceAccess
seção no manifesto - 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. |
- Salve as alterações.