Hoe werkt de autorisatie richting One Drive/ Sharepoint en welke methode gebruiken jullie?

Wij maken op de achtergrond gebruik van de Microsoft Graph API.

Bij het aanmaken van een Bestandsbibliotheek waarbij de gebruiker kiest voor het type OneDrive (Microsoft Teams/SharePoint/OneDrive) moet men toestemming geven (als het admin-consent aanstaat), en logt in via een Office-account.

Als admin-consent aanstaat zal een beheerder vanuit de organisatie nog eenmalig goedkeuring moeten geven tot het gebruik van HubBI in de Microsoft admin center. Hoe dit er uitziet en werkt vind je in het volgende artikel: HubBI goedkeuren als externe applicatie in Azure

We ontvangen daarmee ‘On Behalf’ rechten van de betreffende gebruiker. De scopes zijn als volgt bepaald:

  • Microsoft Teams: “User.Read”, “Team.ReadBasic.All”, "Channel.ReadBasic.All.
  • SharePoint: “User.Read”, “Sites.Read.All”
  • OneDrive: “User.Read”

Daarnaast worden afhankelijk van de gekozen optie (in de Bestandsbibliotheek) de volgende nog toegevoegd:

  • Lezen: “Files.Read.All”
  • Lezen en schrijven: “Files.ReadWrite.All”

We hebben deze rechten nodig om de juiste mappen te kunnen selecteren waar de bestanden eventueel opgehaald, of weggeschreven moeten worden. Er wordt een token bijgehouden op basis van de rechten hierboven voor die betreffende gebruiker op die betreffende Bestandsbibliotheek. Bij het verwijderen van de Bestandsbibliotheek wordt deze ook opgeruimd.

Het is dus aan te raden om een gebruiker te gebruiken die alleen toegang heeft tot de map waar je specifiek mee aan de slag wilt (een soort van service-account gebruiker).