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
- 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.
- Impressoras.Criar [Delegado]
- Printers.Read [Aplicação]
- PrinterProperties.ReadWrite [Aplicativo]
- PrintJob.ReadWriteBasic [Aplicativo]
- PrintJob.Read [Aplicação]
Registar nova candidatura
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 "Microsoft APIs".
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 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:
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.
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
- Localizar
requiredResourceAccess
secçã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 | 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. |
- Guarde as alterações.