Microsoft 365: Ottenere informazioni sugli utenti da Azure

Tradotto automaticamente da Deepl

Molte aziende utilizzano Microsoft 365 (ex Office 365). Oltre a fornire l’accesso alle applicazioni Office, Microsoft offre una Active Directory basata su Azure, che consente agli utenti di accedere a servizi come Microsoft Sharepoint o OneDrive utilizzando un browser Web.

Tutti i servizi Microsoft utilizzano lo stesso Single Sign-On, basato sull’indirizzo e-mail. A partire da 4D v19 R6, 4D NetKit consente di aderire a questo concetto, permettendo agli utenti di accedere alla vostra applicazione utilizzando le loro credenziali aziendali abituali.

Oltre a consentire il Single Sign-On, permette di recuperare le informazioni dell’utente autenticato, come l’e-mail, il reparto e il numero di telefono. Se l’amministratore lo consente, è possibile recuperare tali informazioni anche sui colleghi della stessa azienda.

Vediamo come funziona.

Per prima cosa, per accedere alle informazioni di un utente, dovrete ottenere l’accesso a suo nome e utilizzare il comando New OAuth2 provider per creare il vostro provider OAuth2:

$param:=New object()
$param.name:="Microsoft"
$param.permission:="signedIn"
$param.clientId:="XXX"
$param.redirectURI:="http://127.0.0.1:50993/authorize/"
$param.scope:="https://graph.microsoft.com/.default"
// Create new OAuth2 object
$tokenProvider:=New OAuth2 provider($param)

Quando il provider OAuth2 è pronto, usare il comando New Office365 provider per istanziare un oggetto che gestirà l’accesso al vostro account Microsoft 365 attraverso l’API Microsoft Graph:

var $Office365 : cs.NetKit.Office365Provider
$Office365:=New Office365 provider($tokenProvider)

informazioni sull’utente

È possibile ottenere informazioni sull’utente come displayName, givenName e altro.

Se si è connessi in modalità Sign In, è possibile ottenere le informazioni sull’utente corrente:

$currentUser:=$Office365.user.getCurrent()
//$currentUser=
//{displayName:My Name,givenName:Name,mail:myname@mycompany.com,...}

Se appartenete all’account Azure AD “lavoro o scuola”, potete accedere alle informazioni di un utente specifico della vostra organizzazione:

$user:=$Office365.user.get("myname@mycompany.com")

oppure accedere all’elenco di tutti gli utenti dell’organizzazione:

$users:=$Office365.user.list()

Consultate la documentazione per maggiori dettagli e non esitate a condividere con noi la vostra esperienza sul forum 4D.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.