Autenticação de serviço Web
Ao desenvolver um aplicativo em outra linguagem de programação, como C#, Python ou Java, você precisa fornecer credenciais de autenticação ao serviço Business Central antes de poder trabalhar com diferentes serviços Web. A autenticação pode ser usada para os serviços Web OData e SOAP no Business Central.
Há duas opções para autenticação no Business Central: Autenticação Básica e OAuth2. Com a Autenticação Básica, você precisa fornecer um nome de usuário e uma chave de acesso de serviço Web como a senha, enquanto para OAuth2, você precisa configurar um aplicativo do Microsoft Entra ID. A Autenticação Básica não tem suporte no SaaS do Business Central desde abril de 2022. Somente na versão local, a Autenticação Básica ainda tem suporte.
Portanto, isso significa que OAuth2 é a única opção para a versão SaaS, e é a opção que discutiremos neste módulo de aprendizagem.
OAuth2 é um padrão aberto definido pelo Grupo de Trabalho do IETF OAuth. O OAuth2 dá suporte a fluxos de autenticação diferentes, e o Business Central tem suporte para dois:
Fluxo de Código de Autorização
Fluxo de Credenciais do Cliente
Com o Fluxo de Código de Autorização, você precisa entrar fornecendo seu logon e senha do Microsoft Entra ID. É o mesmo logon e senha que você usa para entrar no aplicativo Business Central. Geralmente é o mesmo logon que você usa com os serviços Office 365/Microsoft 365. Dessa forma, o aplicativo que se conectar ao Business Central usando o OAuth2 entrará com suas credenciais e, portanto, funcionará como se fosse você que entrou. Isso também significa que o aplicativo está usando as mesmas permissões atribuídas à sua conta de usuário no Business Central. Esse fluxo não requer uma licença separada para ser executado sob a licença do usuário.
Um usuário será solicitado a inserir suas credenciais e, portanto, o usuário verá uma caixa de diálogo de entrada a cada vez. Isso significa que você não pode usar esse fluxo para aplicativos que não tenham uma interface do usuário (exemplos: serviços executados em segundo plano ou uma loja virtual que precise recuperar informações de itens).
Esse fluxo está usando permissões delegadas em aplicativos do Microsoft Entra ID.
O Fluxo de Credenciais do Cliente é a solução para serviços que precisam ser executados em segundo plano. Esse fluxo precisa apenas de uma ID do cliente e um segredo do cliente, sem que um usuário precise entrar. A Microsoft fornece uma licença especial de "aplicativo" a ser usada nesses tipos de aplicativos e é gratuita. Porém, você não tem permissão para usá-lo para serviços relacionados a um usuário (exemplos: hora, registro).
Esse fluxo está usando uma permissão chamada permissões de aplicativo (Serviço a Serviço (S2S)) em aplicativos do Microsoft Entra ID.
Para configurar o OAuth, você precisa criar um aplicativo no Microsoft Entra ID. Abra o portal do Microsoft Entra ID e entre com sua conta organizacional.
Depois de entrar, você pode selecionar Microsoft Entra ID no menu de serviços à esquerda. Se você não encontrar isso, selecione o item Todos os serviços para ter uma visão geral de todos os serviços do Microsoft Entra ID no Portal e selecione Microsoft Entra ID lá.
Depois de abrir o item do Microsoft Entra ID, você pode precisar selecionar Registros de aplicativos para criar um novo aplicativo.
Selecione o botão +Novo registro para iniciar um novo registro de aplicativo. Forneça um nome que descreva seu aplicativo, selecione Somente contas neste diretório organizacional (somente Nome da empresa - locatário único) e selecione Web como a plataforma e https://businesscentral.dynamics.com/OAuthLanding.htm como o URI de redirecionamento. Selecione Registrar para iniciar o registro.
É importante que o URI de redirecionamento esteja exatamente conforme descrito acima, já que esse URI diferencia maiúsculas de minúsculas.
Selecione Certificados e segredos no menu e crie um novo Segredo de Cliente. Você será solicitado a informar uma descrição e uma data de vencimento. Essa data de vencimento pode ter um máximo de 24 meses. Portanto, isso significa que a cada 24 meses (ou antes) você deve criar uma nova chave.
Copie o valor do Segredo do Cliente, pois esse valor não estará mais visível quando você sair dessa página.
A próxima etapa é especificar as permissões da API. Selecione Permissões de API no menu e selecione o botão + Adicionar uma permissão. Selecione Dynamics 365 Business Central na lista. Agora isso apresentará duas opções (as quais descrevemos acima):
Permissões Delegadas
Permissões do Aplicativo
Selecione Permissões Delegadas para criar um aplicativo que entre como um usuário específico. Uma vez selecionado, você pode selecionar a opção Financials.ReadWrite.All na lista e selecionar Adicionar permissões.
Ao trabalhar com OAuth2, você precisa de alguns valores para configurar a autenticação. Agora, é hora de reunir todos os valores:
ID do cliente: você pode encontrar esse valor na página Visão geral do aplicativo. Esse é o valor do guid ID do aplicativo (cliente).
Segredo do Cliente: valor copiado da página Certificados e segredos
Ponto de extremidade de autorização OAuth 2.0: selecione o botão Pontos de extremidade para abrir um painel no qual é possível selecionar esse valor de ponto de extremidade.
Ponto de extremidade de token OAuth 2.0: selecione o botão Pontos de extremidade para abrir um painel no qual é possível selecionar esse valor de ponto de extremidade.
Escopo: isso depende do tipo de fluxo de OAuth2 ao qual você deseja dar suporte. Para Permissões Delegadas, é
https://api.businesscentral.dynamics.com/Financials.ReadWrite.All, enquanto para Permissões de Aplicativo éhttps://api.businesscentral.dynamics.com/.default.
Agora, você está pronto para usar esses valores para configurar uma autenticação OAuth2.


