Best practices toepassen op Microsoft Graph
In deze les worden aanbevolen procedures beschreven die u kunt toepassen om optimaal gebruik te maken van Microsoft Graph en uw toepassing betrouwbaarder te maken voor eindgebruikers.
Verificatie
Voor toegang tot de gegevens in Microsoft Graph moet uw toepassing een OAuth 2.0-toegangstoken verkrijgen en dit op een van de volgende manieren aan Microsoft Graph presenteren:
- De HEADER van de HTTP-autorisatieaanvraag als Bearer-token
- De grafiekclientconstructor wanneer u een Microsoft Graph-clientbibliotheek gebruikt
Gebruik de MICROSOFT Authentication Library-API, MSAL om het toegangstoken voor Microsoft Graph te verkrijgen.
Toestemming en autorisatie
Pas de volgende aanbevolen procedures toe voor toestemming en autorisatie in uw app:
Gebruik minimale bevoegdheden. Alleen machtigingen aanvragen die nodig zijn en alleen wanneer u ze nodig hebt. Voor de API's controleren uw toepassingsoproepen de sectie machtigingen in de methodeonderwerpen. Zie bijvoorbeeld het maken van een gebruiker en kies de machtigingen met minimale bevoegdheden.
Gebruik het juiste machtigingstype op basis van scenario's. Als u een interactieve toepassing bouwt waarin een aangemelde gebruiker aanwezig is, moet uw toepassing gedelegeerde machtigingen gebruiken. Als uw toepassing echter wordt uitgevoerd zonder een aangemelde gebruiker, zoals een achtergrondservice of daemon, moet uw toepassing toepassingsmachtigingen gebruiken.
Let op
Het gebruik van toepassingsmachtigingen voor interactieve scenario's kan uw toepassing in nalevings- en beveiligingsrisico's brengen. Zorg ervoor dat u de bevoegdheden van gebruikers controleert om ervoor te zorgen dat ze geen ongewenste toegang hebben tot informatie of dat ze beleidsregels hanteren die zijn geconfigureerd door een beheerder.
Houd rekening met de eindgebruikers- en beheerderservaring. Rechtstreeks van invloed op de ervaringen van eindgebruikers en beheerders. Voorbeeld:
Overweeg wie toestemming verleent voor uw toepassing, eindgebruikers of beheerders, en configureer uw toepassing om op de juiste wijze machtigingen aan te vragen.
Zorg ervoor dat u het verschil tussen statische, dynamische en incrementele toestemming begrijpt.
Overweeg toepassingen met meerdere tenants. Verwacht dat klanten verschillende besturingselementen voor toepassingen en toestemming hebben in verschillende statussen. Voorbeeld:
Tenantbeheerders kunnen de mogelijkheid voor eindgebruikers uitschakelen om toestemming te geven voor toepassingen. In dit geval moet een beheerder toestemming geven namens hun gebruikers.
Tenantbeheerders kunnen aangepast autorisatiebeleid instellen, zoals het blokkeren van gebruikers voor het lezen van profielen van andere gebruikers of het beperken van het maken van selfservicegroepen tot een beperkt aantal gebruikers. In dit geval verwacht uw toepassing 403-foutreacties te verwerken wanneer deze namens een gebruiker handelt.
Antwoorden effectief verwerken
Afhankelijk van de aanvragen die u bij Microsoft Graph doet, moeten uw toepassingen worden voorbereid om verschillende soorten antwoorden af te handelen. Hieronder volgen enkele van de belangrijkste procedures om ervoor te zorgen dat uw toepassing betrouwbaar en voorspelbaar werkt voor uw eindgebruikers. Voorbeeld:
Paginering: bij het uitvoeren van query's op resourceverzamelingen moet u verwachten dat Microsoft Graph de resultatenset op meerdere pagina's retourneert vanwege limieten voor paginagrootten aan de serverzijde. Uw toepassing moet altijd de mogelijkheid verwerken dat de antwoorden in de natuur worden gepaginad en de eigenschap gebruiken om de
@odata.nextLink
volgende gepaginade set resultaten te verkrijgen, totdat alle pagina's van de resultatenset worden gelezen. De laatste pagina bevat@odata.nextLink
geen eigenschap. Ga naar paging voor meer informatie.Suggesties voor opsommingen: leden toevoegen aan bestaande opsommingen kunnen toepassingen die al gebruikmaken van deze opsommingen verbreken. Evolvable-opsommingen zijn een mechanisme dat door Microsoft Graph API wordt gebruikt om nieuwe leden toe te voegen aan bestaande opsommingen zonder dat er sprake is van een wijziging die fouten veroorzaakt voor toepassingen. Standaard retourneert een GET-bewerking alleen bekende leden voor eigenschappen van evolvable enumtypen en moet uw toepassing alleen de bekende leden verwerken. Als u uw toepassing ontwerpt om ook onbekende leden af te handelen, kunt u ervoor kiezen om deze leden te ontvangen met behulp van een HTTP-aanvraagheader
Prefer
.
Gegevens lokaal opslaan
Uw toepassing moet in het ideale geval microsoft Graph aanroepen om gegevens in realtime op te halen. U moet gegevens alleen lokaal opslaan of opslaan die nodig zijn voor een specifiek scenario. Als deze use case wordt gedekt door uw gebruiksvoorwaarden en privacybeleid en niet in strijd is met de Gebruiksvoorwaarden van Microsoft-API's, moet uw toepassing ook het juiste bewaar- en verwijderingsbeleid implementeren.