Microsoft 365: Získání informací o uživatelích ze služby Azure

Automaticky přeloženo z Deepl

Mnoho společností používá Microsoft 365 (dříve Office 365). Kromě přístupu k aplikacím sady Office poskytuje společnost Microsoft službu Active Directory založenou na Azure, která umožňuje uživatelům přihlásit se k přístupu ke službám, jako je Microsoft Sharepoint nebo OneDrive, pomocí webového prohlížeče.

Všechny služby Microsoftu používají stejné jednotné přihlášení na základě e-mailové adresy. Od verze 4D v19 R6 umožňuje 4D NetKit připojit se k tomuto konceptu a umožnit uživatelům přihlašovat se k aplikaci pomocí obvyklých firemních přihlašovacích údajů.

Kromě toho, že umožňuje Single Sign-On, umožní získat informace o ověřovaném uživateli, jako je e-mail, oddělení a telefonní číslo. Pokud to správce povolí, můžete tyto údaje načíst i o kolezích ze stejné společnosti.

Podívejme se, jak to funguje.

Chcete-li nejprve získat přístup k informacím o uživateli, musíte získat přístup jeho jménem a použít příkaz New OAuth2 provider příkaz k vytvoření poskytovatele 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)

Až bude váš poskytovatel OAuth2 připraven, použijte příkaz New Office365 provider příkaz k instanci objektu, který bude spravovat přístup k účtu Microsoft 365 prostřednictvím rozhraní Microsoft Graph API:

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

informace o uživateli

Můžete získat informace o uživateli, jako je displayName, givenName a další.

Pokud jste připojeni v režimu přihlášení, můžete získat aktuální informace o uživateli:

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

Pokud patříte k účtu Azure AD „work or school“, můžete přistupovat k informacím konkrétního uživatele vaší organizace:

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

nebo získat přístup k seznamu všech uživatelů vaší organizace:

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

Pro více informací se podívejte do dokumentace a neváhejte se s námi podělit o své zkušenosti na fóru 4D.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.