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.