Cómo administrar una aplicación alojada en SharePoint con llamadas solo de aplicación
-
29-09-2020 - |
Pregunta
Tengo una aplicación alojada en SHarePoint.me di por vencido appmanifest.xml
como aplicación solo llama y se le da alcance como inquilino.
<AppPermissionRequests AllowAppOnlyPolicy="true" >
<AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
</AppPermissionRequests>
Esta aplicación creará carpetas para cada usuario tomando información del usuario.Aunque el usuario solo tiene permiso de lectura en esa biblioteca, la aplicación debe crear una carpeta en nombre del usuario.
Pero si implemento esta aplicación y pruebo con un usuario que tiene permiso de edición, está dando Access Denied
error.
¿Cuál sería el caso en este escenario?¿Necesito crear algún objeto en un archivo javascript para llamadas solo a aplicaciones para cumplir con mis requisitos?Busqué en Google pero no obtuve ninguna información adecuada sobre las aplicaciones alojadas en SharePoint con llamadas solo de aplicaciones.
Solución
AppOnlyPolicy
no se aplica a la aplicación alojada en SP ya que utiliza tokens OAuth.Tienes que dar permiso al usuario para que esto funcione.
De acuerdo a MSDN:
Las aplicaciones que no realizan llamadas autenticadas de OAuth (por ejemplo, aplicaciones que solo ejecutan JavaScript en la web de la aplicación) no pueden usar la política de solo aplicación.Pueden solicitar el permiso, pero no podrán aprovecharlo porque para hacerlo es necesario pasar un token OAuth exclusivo de la aplicación.Solo las aplicaciones con aplicaciones web que se ejecutan fuera de SharePoint pueden crear y pasar tokens exclusivos de aplicaciones.