Business Central: utilizzo e gestione dei token OAuth2
Vediamo come utilizzare alcune delle funzionalità introdotte da Microsoft negli ultimi aggiornamenti di Business Central riguardo l’utilizzo e la gestione dei token.
Nello scorso articolo (Business Central Autenticazione oAuth2 e ottenimento di un token) si è parlato di come ottenere un token OAuth2 dalla Azure Directory per accedere alle API di Business Central, in questo verrà mostrato uno dei possibili modi di gestione dei Token OAuth all’interno di BC.
Ipotizziamo di volerci collegare ad un Business Central Saas impostato come mostrato nel precedente articolo, ma la procedura vale per qualsiasi altro servizio che utilizza questo tipo di autenticazione.
Il primo passo da eseguire è l’inserimento dell’app creata su Azure in Business Central inserendola in questa pagina chiamata ”Applicazione di Azure Directory”
In questa pagina è necessario inserire nel campo ID Client lo stesso id dell’applicazione creata sul portale Azure.
Nel campo descrizione poi si inserirà una descrizione di quello che l’applicazione deve fare in modo da identificarla e poi andremo ad inserire i vari permessi esattamente come per gli utenti di Business Central.
A questo punto l’applicazione è censita in Business Central e possiamo passare alla parte di codice.
Negli ultimi tempi Microsoft ha arricchito la parte di codeunit riguardante la gestione dei token OAuth al fine di migliorare la vita ai programmatori e standardizzare il più possibile il metodo con cui vengono richiesti.
In questo caso verrà utilizzata la codeunit “OAuth2” che contiene la funzione “AcquireTokenWithClientCredentials” che permette di acquisire il token da utilizzare poi per le richieste http.
La procedura ha bisogno di alcuni parametri in ingresso:
- ClientID, è l’id dell’app che è stata creata su Azure e censita in Business Central
- SecretID, è l’id segreto che viene staccato al momento della creazione dell’applicazione su Azure
- TokenUrl, è l’indirizzo del portale a cui viene richiesto il token nel caso di Business Central è composto in questo modo, dove tenantID è l’id del tenant a cui è necessario collegarsi: ‘https://login.microsoftonline.com/’ + TenantID() + ‘/oauth2/v2.0/token’
- Scopes è una lista di testi e in questo caso va inserito l’indirizzo delle api di Business Central: https://api.businesscentral.dynamics.com/.default
- Token è il parametro più importante in quanto la variabile passata come var conterrà il token ottenuto dalla funzione e che servirà poi per le richieste http che verranno fatte dall’Extension che si sta creando
Questo è solo uno dei possibili modi per ottenere un token OAuth tramite le funzioni standard di Business Central e molte altre verranno aggiunte coi prossimi aggiornamenti per ottimizzare ancora di più lo scambio di informazioni tramite Api migliorandone notevolmente la possibilità di connessioni tra Business Central e sistemi terzi.
Dynamics 365 Developer
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!