Autorización y autenticación de complementos de SharePoint
Cuando un usuario inicia sesión en SharePoint, se valida el token de seguridad del usuario. El token lo emite un proveedor de identidades. SharePoint admite varios tipos de autenticación de usuarios. Para obtener más información, vea Autenticación, autorización y seguridad en SharePoint.
Los complementos de SharePoint son también entidades de seguridad que es preciso autenticar y autorizar. Los complementos se pueden autenticar y autorizar de varias formas. Para obtener más información, vea Tres sistemas de autorización para complementos de SharePoint.
Directivas de autorización: directiva de solo usuario, directiva de solo complemento o directiva de usuario+complemento
El proceso de autorización comprueba que un sujeto autenticado (un complemento, un usuario o ambos) tiene permiso para realizar ciertas operaciones o para obtener acceso a recursos específicos (por ejemplo, una lista o una carpeta de documentos de SharePoint).
SharePoint usa tres tipos de directivas de autorización:
La directiva de solo usuario únicamente requiere que la llamada a SharePoint incluya una identidad de usuario autenticada.
La directiva de solo complemento requiere únicamente que la llamada incluya una identidad de complemento autenticada.
La directiva de usuario+complemento requiere que la llamada incluya ambos tipos de identidades autenticadas.
Cuando un usuario accede a los recursos de SharePoint a través de la interfaz de usuario de SharePoint en lugar de a través de un complemento, SharePoint usa la directiva de solo usuario. Pero, en las llamadas de un complemento de SharePoint, este usa la directiva de solo complemento o la directiva de usuario+complemento.
El complemento de SharePoint determina la directiva que se usa según el tipo de token de acceso que incluye en su solicitud a SharePoint. Si se hace una solicitud de usuario+complemento, SharePoint requiere que el complemento y el usuario tengan permiso para el recurso al que el complemento tiene acceso. En el caso de una solicitud de solo complemento, SharePoint requiere que el complemento tenga permiso para el recurso, pero no importa que el usuario lo tenga. (Un complemento de SharePoint puede hacer solicitudes de solo complemento únicamente si se le ha dado permiso para hacerlo por adelantado; se suele hacer cuando se instala).
Para obtener más información sobre las directivas de autorización y su funcionamiento, vea Tipos de directivas de autorización de complementos en SharePoint.
Permisos de complemento y ámbitos de solicitud de permisos de complemento
El desarrollador de un complemento de SharePoint tiene que especificar, a través del archivo de manifiesto del complemento, los permisos que necesita un complemento para obtener acceso a los recursos de SharePoint fuera de la web de complemento. (El complemento automáticamente tiene permiso de control total en toda la web de complemento). Cuando se diseña el complemento para que se inicie desde SharePoint, la infraestructura de instalación del complemento le pide al usuario que lo instala que conceda o deniegue los permisos necesarios. Una vez que se han concedido los permisos, los usuarios del sitio web pueden usar el complemento sin tener que volver a concederle permisos.
Pero, cuando el complemento se diseña para que se inicie fuera de SharePoint (es decir, no se instala en SharePoint), SharePoint le pide al usuario que ejecuta el complemento que le conceda los permisos necesarios cada vez que se ejecute. Los complementos en dispositivos móviles y los complementos de Office son ejemplos de complementos que tienen acceso a SharePoint, pero no están instalados en él.
Solo el propietario de un sitio web puede instalar un complemento de SharePoint en un sitio web de SharePoint (a menos que se haya creado un rol personalizado que tenga derechos de instalación de complementos). Un usuario solo puede conceder a un complemento los permisos que el propio usuario tiene. Así que un usuario no puede instalar un complemento que necesita permisos que él no tiene.
De forma similar, un usuario no puede ejecutar un complemento iniciado externamente que necesita permisos que el usuario no tiene. Pero, cuando un complemento de SharePoint se instala en SharePoint, puede pedir permiso para realizar llamadas de solo complemento. Un complemento con ese permiso tiene acceso a SharePoint de formas que el usuario que ejecuta el complemento no puede.
Los administradores de espacios empresariales de SharePoint Online o los administradores de granjas de SharePoint pueden conceder o revocar permisos a los complementos.
En el archivo de manifiesto del complemento, un complemento de SharePoint especifica los permisos que necesita para funcionar correctamente. Las solicitudes de permisos especifican tanto los derechos que necesita un complemento como el ámbito en el que necesitan los derechos. Los ámbitos indican en qué lugar de una jerarquía de SharePoint se aplica una solicitud de permiso.
SharePoint admite cuatro ámbitos de contenido distintos: espacio empresarial, colección de sitios, sitio web y lista. También hay ámbitos especiales para realizar consultas de búsqueda, obtener acceso a datos de taxonomía, características sociales, características de Servicios de conectividad empresarial de Microsoft (BCS) y características de Project Server 2013.
Para obtener más información, vea Permisos de complementos en SharePoint.
¿Cuándo se usa OAuth?
Quizás haya oído que OAuth 2.0 desempeña un rol importante en la autenticación y autorización de complementos de SharePoint. Así es, pero no necesariamente forma parte del proceso de autorización de todos los complementos de SharePoint.
Si tiene previsto compilar un complemento de SharePoint que se ejecute en una aplicación web remota y se comunique con SharePoint mediante código del lado servidor, tiene que usar OAuth.
Si la aplicación web remota está fuera del entorno local, se utilizaría el sistema de autorización de baja confianza, en el que Azure ACS es el emisor de tokens de acceso.
Si se encuentra en un entorno local, Generalmente se usaría el sistema de elevada confianza, en el que el propio complemento y un certificado digital son los emisores de tokens de acceso.
No se utilizaría OAuth para hacer una llamada de JavaScript en una página de la propia web de complemento ni desde una página web remota mediante la biblioteca entre dominios. Para obtener más información sobre la biblioteca entre dominios, vea Crear complementos de SharePoint que usen la biblioteca entre dominios.