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.

Business Central

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.

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

Dynamics 365 Developer

 

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Sentitevi liberi di contribuire!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *