Autenticazione dei servizi Web
Quando si sviluppa un'applicazione in un altro linguaggio di programmazione, come C#, Python o Java, prima di poter usare vari servizi Web, è necessario fornire le credenziali di autenticazione al servizio Business Central. In Business Central, l'autenticazione può essere usata per i servizi Web OData e SOAP.
Sono disponibili due opzioni per eseguire l'autenticazione in Business Central: Autenticazione di base e Autenticazione OAuth2. Con l'autenticazione di base occorre fornire un nome utente e una chiave di accesso al servizio Web come password, mentre per OAuth2 è necessario configurare un'applicazione Microsoft Entra ID. L'autenticazione di base non è supportata per la versione SaaS di Business Central da aprile 2022 e si può ancora usare solo per la versione locale.
Ciò significa che OAuth2 è l'unica opzione disponibile per la versione SaaS ed è di questo tipo di autenticazione che si tratterà in questo modulo di apprendimento.
OAuth2 è uno standard aperto definito dall'IETF OAuth Working Group che supporta diversi flussi di autenticazione. Business Central prevede il supporto per due di essi:
Flusso del codice di autorizzazione
Flusso delle credenziali client
Nel caso del flusso del codice di autorizzazione è necessario accedere fornendo il proprio nome di accesso e la password Microsoft Entra ID. Si tratta della stessa combinazione di nome di accesso e password usata per accedere all'applicazione Business Central. Spesso sono le stesse credenziali usate per i servizi Office 365/Microsoft 365. In questo modo l'applicazione che si collega a Business Central tramite OAuth2 effettuerà l'accesso con le credenziali di un utente, agendo quindi come se fosse l'utente. Ciò significa anche che l'applicazione usa le stesse autorizzazioni assegnate a quell'account utente in Business Central. Questo flusso non richiede una licenza separata poiché viene eseguito ai sensi della licenza dell'utente.
Un utente dovrà inserire le proprie credenziali, pertanto vedrà ogni volta una finestra di dialogo di accesso. Ciò significa che non è possibile usare questo flusso per le applicazioni che non dispongono di un'interfaccia utente (ad esempio i servizi in esecuzione in background o un negozio Web che deve recuperare informazioni sugli articoli).
Questo flusso usa autorizzazioni chiamate autorizzazioni delegate nelle applicazioni Microsoft Entra ID.
Il flusso delle credenziali client è la soluzione per i servizi che devono essere eseguiti in background. Questo flusso richiede solo un ID client e un segreto client, senza la necessità di accesso da parte di un utente. Microsoft fornisce una speciale licenza "applicazione" gratuita che si può usare per questi tipi di applicazioni. Non è tuttavia consentito usarla per servizi correlati a un utente, come servizi di data/ora o registrazione.
Questo flusso usa autorizzazioni chiamate autorizzazioni dell'applicazione da servizio a servizio (S2S) nelle applicazioni Microsoft Entra ID.
Per impostare OAuth occorre creare un'applicazione all'interno di Microsoft Entra ID. Aprire il portale di Microsoft Entra ID e accedere con l'account aziendale.
Una volta effettuato l'accesso, è possibile selezionare Microsoft Entra ID dal menu dei servizi a sinistra. Se l'opzione non è presente, selezionare la voce Tutti i servizi per avere una panoramica di tutti i servizi Microsoft Entra ID disponibili nel portale e selezionare Microsoft Entra ID dall'elenco.
Dopo aver selezionato la voce Microsoft Entra ID, può essere necessario selezionare Registrazioni app per creare una nuova app.
Selezionare il pulsante +Nuova registrazione per avviare la registrazione di una nuova applicazione. Fornire un nome descrittivo per l'applicazione, selezionare Account solo in questa directory organizzativa (solo NomeSocietà - Tenant singolo), quindi selezionare Web come piattaforma e https://businesscentral.dynamics.com/OAuthLanding.htm come URI di reindirizzamento. Selezionare Registra per avviare la registrazione.
È importante che l'URI di reindirizzamento sia esattamente come descritto sopra, poiché fa distinzione tra maiuscole e minuscole.
Selezionare Certificati e segreti nel menu e creare un nuovo segreto client. Verrà richiesto di immettere una descrizione e una data di scadenza. La data di scadenza può arrivare a un massimo di 24 mesi. Ciò significa che ogni 24 mesi (o prima) andrebbe creata una nuova chiave.
Assicurarsi di copiare il valore del segreto client, poiché non sarà più visibile una volta usciti da questa pagina.
Il passaggio successivo consiste nello specificare le autorizzazioni API. Selezionare Autorizzazioni API dal menu, quindi il pulsante + Aggiungi un'autorizzazione. Selezionare Dynamics 365 Business Central dall'elenco. Vengono visualizzate le due opzioni descritte in precedenza:
Autorizzazioni delegate
Autorizzazioni dell'applicazione
Selezionare Autorizzazioni delegate per creare un'applicazione che esegua l'accesso come un utente specifico. Dopodiché è possibile selezionare l'opzione Financials.ReadWrite.All dall'elenco e poi scegliere Aggiungi autorizzazioni.
Quando si usa OAuth2, sono necessari alcuni valori per impostare l'autenticazione. Ora è il momento di raccoglierli tutti:
ID client: è possibile trovare questo valore nella pagina Panoramica dell'applicazione. Si tratta del valore GUID ID applicazione (client).
Segreto client: valore copiato dalla pagina Certificati e segreti.
Endpoint di autorizzazione OAuth 2.0: selezionare il pulsante Endpoint per aprire un riquadro in cui selezionare questo valore.
Endpoint di token OAuth 2.0: selezionare il pulsante Endpoint per aprire un riquadro in cui selezionare questo valore.
Ambito: dipende dal tipo di flusso OAuth2 che si desidera supportare. Per le autorizzazioni delegate è
https://api.businesscentral.dynamics.com/Financials.ReadWrite.All, mentre per le autorizzazioni dell'applicazione èhttps://api.businesscentral.dynamics.com/.default.
È ora possibile usare questi valori per impostare un'autenticazione OAuth2.


