Bruk anbefalte fremgangsmåter for Microsoft Graph

Fullført

Denne enheten beskriver anbefalte fremgangsmåter som du kan bruke for å få mest mulig ut av Microsoft Graph og gjøre programmet mer pålitelig for sluttbrukere.

Godkjenning

Hvis du vil ha tilgang til dataene i Microsoft Graph, må programmet hente et OAuth 2.0-tilgangstoken og presentere dem for Microsoft Graph på én av følgende metoder:

  • Http authorization forespørselshode, som en Bearer token
  • Grafklientkonstruktøren når du bruker et Microsoft Graph-klientbibliotek

Bruk API-en for Microsoft Authentication Library, MSAL til å skaffe tilgangstokenet til Microsoft Graph.

Bruk følgende anbefalte fremgangsmåter for samtykke og godkjenning i appen:

  • Bruk minst mulig. Be bare om tillatelser som er nødvendige, og bare når du trenger dem. For API-ene kontrollerer programmet tillatelsesinndelingen i metodeemnene. Se for eksempel opprette en bruker og velge de minst privilegerte tillatelsene.

  • Bruk riktig tillatelsestype basert på scenarier. Hvis du bygger et interaktivt program der en pålogget bruker finnes, bør programmet bruke delegerte tillatelser. Hvis programmet imidlertid kjører uten en pålogget bruker, for eksempel en bakgrunnstjeneste eller daemon, bør programmet bruke programtillatelser.

    Forsiktighet

    Bruk av programtillatelser for interaktive scenarioer kan sette programmet i samsvar og sikkerhetsrisiko. Pass på å kontrollere brukerens rettigheter for å sikre at de ikke har uønsket tilgang til informasjon, eller omgår policyer som er konfigurert av en administrator.

  • Vurder sluttbruker- og administratoropplevelsen. Påvirker direkte sluttbruker- og administratoropplevelser. For eksempel:

  • Vurder programmer med flere leiere. Forvent at kundene har ulike program- og samtykkekontroller i forskjellige delstater. For eksempel:

    • Leieradministratorer kan deaktivere muligheten for sluttbrukere til å samtykke til programmer. I dette tilfellet må en administrator samtykke på vegne av brukerne.

    • Leieradministratorer kan angi egendefinerte godkjenningspolicyer som å blokkere brukere fra å lese andre brukeres profiler, eller begrense selvbetjent gruppeopprettelse til et begrenset sett med brukere. I dette tilfellet bør programmet forvente å håndtere 403 feilsvar når du handler på vegne av en bruker.

Håndtere svar effektivt

Avhengig av forespørslene du gjør i Microsoft Graph, bør programmene være forberedt på å håndtere ulike typer svar. Nedenfor finner du noen av de viktigste fremgangsmåtene du må følge for å sikre at programmet fungerer pålitelig og forutsigbart for sluttbrukerne. For eksempel:

  • Paginering: Når du spør ressurssamlinger, bør du forvente at Microsoft Graph returnerer resultatsettet på flere sider, på grunn av sidestørrelsesgrenser på serversiden. Programmet bør alltid håndtere muligheten for at svarene er side ved side i naturen, og bruke egenskapen @odata.nextLink til å hente det neste sidesettet med resultater, helt til alle sidene i resultatsettet leses. Den siste siden inneholder ikke en @odata.nextLink egenskap. Hvis du vil ha mer informasjon, kan du gå til sideveksling.

  • opplistinger som kan utvikles: Hvis du legger til medlemmer i eksisterende opplistinger, kan det bryte programmer som allerede bruker disse opplistingene. Opplistinger som kan utvikles, er en mekanisme som Microsoft Graph API bruker til å legge til nye medlemmer i eksisterende opplistinger uten å forårsake en bruddendring for programmer. Som standard returnerer en GET-operasjon bare kjente medlemmer for egenskaper for opplistingstyper som kan utvikles, og programmet må bare håndtere de kjente medlemmene. Hvis du utformer programmet for å håndtere ukjente medlemmer også, kan du velge å motta disse medlemmene ved hjelp av et HTTP-Prefer forespørselshode.

Lagre data lokalt

Programmet bør ideelt sett foreta anrop til Microsoft Graph for å hente data i sanntid etter behov. Du bør bare bufre eller lagre data lokalt som er nødvendige for et bestemt scenario. Hvis denne brukstilfellet dekkes av vilkårene for bruk og personvern, og ikke bryter med vilkår for bruk av Microsoft-API-er, bør programmet også implementere riktige policyer for oppbevaring og sletting.