La API de sharepoint ha canviat i això requereix utilitzar oauth. Podem fer-ho amb el exemple que propociona al tutorial al docs:
https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/using-csom-for-dotnet-standard
- Ves al Portal de Azure AD: https://aad.portal.azure.com
- Selecciona Azure Active Directory i registres d’aplicacions a l’esquerra
- Selecciona New registration
- Introdueix un nom per a la aplicació i selecciona Register
- Aneu a Permisos de l’API per concedir permisos a la aplicació, seleccioneu “Add a permission”, tria SharePoint, Delegated permissions i selecciona AllSites.Manage
- Selecciona Concedir consentiment de l’administrador per consentir els permisos sol·licitats per l’aplicació
- Seleccioneu Authentication a l’esquerra
- Canvia “Allow public client flows” a Sí
- Selecciona Overview i guarda Application ID
Nota: si no seguíssim pas per pas les instruccions de configurar una aplicació a Azure ens podem trobar els següents errors:
- Si no hem seguit el pas 8 ens pot ocórrer que el usuari tingui que donar manualment accés a l’aplicació. Si ho fem, el exemple no està preparat per a fer-ho (no fa prompt de la pàgina sol·licitant-lo).
- En cas que volguem que sigui així podem seguir el exemple de oferir una finestra amb el navegador al consentUrl: https://nishantrana.me/2020/12/01/fixed-aadsts65001-the-user-or-administrator-has-not-consented-to-use-the-application-with-id/
A més a més poden sorgir altres errors:
- El usuari no és vàlid, o no te renovada la contrasenya, o està inactiu: aquestes gestions no seràn possibles ja que no tenim previst fer prompt de la pàgina de AD per fer canvi de contrasenya, etc.
Després cal personalitzar la classe AuthenticationManager que donen al exemple ja que està pensada per a Net Core o superiors, però no NET Framework cal fer un seguit d’adaptacions. Aquí fetes, res del altre món: