Použití osvědčených postupů pro Microsoft Graph
Tato lekce popisuje osvědčené postupy, které můžete použít k maximálnímu využití Microsoft Graphu a zajištění větší spolehlivosti aplikace pro koncové uživatele.
Ověřování
Pokud chcete získat přístup k datům v Microsoft Graphu, musí vaše aplikace získat přístupový token OAuth 2.0 a zobrazit ho v Microsoft Graphu v některé z následujících metod:
- Hlavička požadavku HTTP Authorization jako nosný token
- Konstruktor klienta grafu při použití klientské knihovny Microsoft Graphu
K získání přístupového tokenu k Microsoft Graphu použijte rozhraní MICROSOFT Authentication Library API, MSAL .
Souhlas a autorizace
Při udělování souhlasu a autorizace ve vaší aplikaci použijte následující osvědčené postupy:
Používejte nejnižší oprávnění. Požádejte pouze o potřebná oprávnění a pouze v případě, že je potřebujete. U rozhraní API vaše aplikace zkontroluje část oprávnění v tématech o metodách. Podívejte se například na vytvoření uživatele a zvolte nejnižší privilegovaná oprávnění.
Na základě scénářů použijte správný typ oprávnění. Pokud vytváříte interaktivní aplikaci, ve které je přihlášený uživatel, měla by aplikace používat delegovaná oprávnění. Pokud se ale vaše aplikace spustí bez přihlášeného uživatele, například služby na pozadí nebo démona, měla by vaše aplikace používat oprávnění aplikace.
Upozornění
Použití oprávnění aplikace pro interaktivní scénáře může aplikaci ohrozit dodržování předpisů a zabezpečení. Nezapomeňte zkontrolovat oprávnění uživatele, abyste měli jistotu, že nemá požadovaný přístup k informacím nebo že obkroužil zásady nakonfigurované správcem.
Zvažte činnost koncového uživatele a správce. Přímo ovlivňuje činnost koncových uživatelů a správců. Příklad:
Zvažte, kdo souhlasí s vaší aplikací, ať už koncovými uživateli nebo správci, a nakonfigurujte aplikaci tak, aby příslušně požadovala oprávnění.
Ujistěte se, že rozumíte rozdílu mezi statickým, dynamickým a přírůstkovým souhlasem.
Zvažte víceklientní aplikace. Očekáváme, že zákazníci budou mít různé kontroly aplikací a souhlasu v různých stavech. Příklad:
Správci tenantů můžou koncovým uživatelům zakázat souhlas s aplikacemi. V takovém případě by správce potřeboval souhlas jménem svých uživatelů.
Správci tenantů můžou nastavit vlastní zásady autorizace, jako je blokování uživatelů ve čtení profilů jiných uživatelů nebo omezení samoobslužného vytváření skupin na omezenou sadu uživatelů. V takovém případě by vaše aplikace měla očekávat zpracování chyby 403 při jednání jménem uživatele.
Efektivní zpracování odpovědí
V závislosti na požadavcích, které v Microsoft Graphu provedete, by vaše aplikace měly být připravené na zpracování různých typů odpovědí. Tady jsou některé z nejdůležitějších postupů, které je potřeba dodržovat, aby se vaše aplikace pro koncové uživatele chovala spolehlivě a předvídatelně. Příklad:
Stránkování: Při dotazování kolekcí prostředků byste měli očekávat, že Microsoft Graph vrátí sadu výsledků na více stránkách kvůli omezením velikosti stránky na straně serveru. Aplikace by měla vždy zpracovávat možnost, že odpovědi jsou stránkovány v přírodě, a pomocí
@odata.nextLink
vlastnosti získat další stránkovanou sadu výsledků, dokud nebudou přečtené všechny stránky sady výsledků. Poslední stránka neobsahuje@odata.nextLink
vlastnost. Další informace najdete ve stránkování.Evolvable výčty: Přidání členů do existujících výčtů může přerušit aplikace již pomocí těchto výčtů. Nevyvolitelné výčty jsou mechanismus, který rozhraní Microsoft Graph API používá k přidání nových členů do existujících výčtů, aniž by to způsobilo zásadní změnu pro aplikace. Ve výchozím nastavení vrátí operace GET pouze známé členy pro vlastnosti nevolitelných typů výčtu a vaše aplikace potřebuje zpracovat pouze známé členy. Pokud navrhujete aplikaci tak, aby zpracovávala i neznámé členy, můžete se přihlásit k přijímání těchto členů pomocí hlavičky požadavku HTTP
Prefer
.
Místní ukládání dat
Aplikace by měla v ideálním případě volat Microsoft Graph, aby načítala data v reálném čase podle potřeby. Data byste měli ukládat jenom do mezipaměti nebo ukládat místně potřebná pro konkrétní scénář. Pokud se tento případ použití vztahuje na vaše podmínky použití a zásady ochrany osobních údajů a neporušuje podmínky použití rozhraní API společnosti Microsoft, měla by vaše aplikace také implementovat správné zásady uchovávání informací a odstranění.