Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede usar el Portal para desarrolladores de Teams para declarar los requisitos de permisos RSC para un agente o una aplicación, o configurarlos manualmente en el manifiesto de la aplicación.
Declarar un permiso no otorga acceso: un usuario autorizado otorga consentimiento cuando instala la aplicación en el recurso de destino, sujeto a las directivas de consentimiento de su organización. El cuadro de diálogo de instalación muestra los permisos solicitados por la aplicación.
Requisitos previos
En este artículo se presupone que ya tiene un agente o una aplicación configurados a través del inicio rápido del agente de Teams o un proceso similar.
Antes de declarar permisos:
- Identifique los permisos de RSC y los ámbitos de recursos necesarios para la aplicación. Solicite solo los permisos que necesitan sus características.
- Tener el id. de aplicación (cliente) existente disponible para la propiedad de
webApplicationInfo.idla aplicación. - Asegúrese de que las directivas de la organización permiten el consentimiento necesario. Trabaje con el administrador si el consentimiento está bloqueado. Para obtener instrucciones de administración relacionadas, consulte Conceder y administrar el consentimiento a los permisos de aplicación de Teams.
Para realizar pruebas de aplicaciones personalizadas, asegúrese de que su organización permite cargas de aplicaciones personalizadas y use una aplicación configurada para la organización donde la instala. Para conocer los requisitos previos de empaquetado e instalación, consulte Cargar la aplicación en Teams.
Teams admite un máximo de 16 declaraciones de permisos RSC por agente o aplicación.
El uso de permisos RSC delegados requiere el uso del manifiesto de la aplicación v 1.12 o posterior. Considere seriamente actualizar la versión del manifiesto de la aplicación que usa el agente o la aplicación si usa una versión anterior.
Declarar permisos RSC en el Portal para desarrolladores
Use el Portal para desarrolladores de Teams para editar los requisitos de permisos de la aplicación sin editar JSON directamente.
- En el Portal para desarrolladores, seleccione Aplicaciones y abra la aplicación existente. Si mantiene el paquete de la aplicación fuera del Portal para desarrolladores, importe primero el paquete.
- En Configurar, seleccione Información básica y compruebe que el identificador de la aplicación (cliente) coincide con el identificador de aplicación existente para la aplicación.
- En Configurar, seleccione Permisos.
- Seleccione los permisos RSC necesarios en Permisos de equipo, Permisos de chat/reunión o Permisos de usuario, en función del recurso al que tenga acceso la aplicación.
- Guarde los cambios.
- Revise las actualizaciones
manifest.jsonen eleditor de paquetesConfigure> App. Confirme que los nombres y tipos de permisos coinciden con los requisitos antes de usar el paquete actualizado.
Para obtener más información, consulte Administración de aplicaciones en el Portal para desarrolladores.
Declare los permisos RSC en el manifiesto de la aplicación
Como alternativa al Portal para desarrolladores, puede editar manualmente el manifiesto de la aplicación del agente o de la aplicación directamente. Usa el formato de la versión del manifiesto de la aplicación.
Manifiesto de la aplicación v1.12 o posterior
Para declarar permisos RSC en el manifiesto de la aplicación:
Agregue la clave webApplicationInfo al manifiesto de la aplicación con los siguientes valores:
Nombre Tipo Descripción idCadena El id. de aplicación (cliente) existente para el agente o aplicación. resourceCadena Valor de recurso de autenticación opcional. No concede acceso a RSC. Conserva el valor configurado si tu aplicación usa el inicio de sesión único (SSO). Agregue los permisos que necesita la aplicación.
Nombre Tipo Descripción authorizationObject Lista de permisos que la aplicación necesita para funcionar. Para obtener más información, consulte autorización en el manifiesto de la aplicación. Enumere cada nombre de permiso y su
ApplicationoDelegatedescriba .authorization.permissions.resourceSpecificSi una aplicación admite la instalación en los ámbitos de equipo y chat, puede declarar permisos de equipo y chat en la misma matriz. Incluya solo los permisos que necesita la aplicación. en la introducción de RSC se enumeran los permisos admitidos.
Ejemplo:
{
"webApplicationInfo": {
"id": "00000000-0000-0000-0000-000000000000",
"resource": "https://RscBasedStoreApp"
},
"authorization": {
"permissions": {
"resourceSpecific": [
{
"name": "TeamSettings.Read.Group",
"type": "Application"
},
{
"name": "ChannelMeetingStage.Write.Group",
"type": "Delegated"
}
]
}
}
}
Manifiesto de la aplicación v1.11 o anterior
Agregue la clave webApplicationInfo al manifiesto de la aplicación con los siguientes valores:
| Nombre | Tipo | Descripción |
|---|---|---|
id |
Cadena | El id. de aplicación (cliente) existente para el agente o aplicación. |
resource |
Cadena | Valor de recurso de autenticación opcional. No concede acceso a RSC. Conserva el valor configurado si la aplicación usa SSO. |
applicationPermissions |
Matriz de cadenas | Permisos RSC para la aplicación. Para obtener más información, consulte Permisos RSC admitidos. |
Si una aplicación está diseñada para admitir la instalación en los ámbitos de equipo y chat, los permisos de equipo y chat se pueden especificar en el mismo manifiesto de la aplicación en applicationPermissions.
Ejemplo:
{
"webApplicationInfo": {
"id": "00000000-0000-0000-0000-000000000000",
"resource": "https://RscBasedStoreApp",
"applicationPermissions": [
"TeamSettings.Read.Group",
"TeamsActivity.Send.User"
]
}
}
Compruebe los permisos RSC concedidos a la aplicación
Antes de verificar las subvenciones, instale la aplicación en el equipo, chat o ámbito personal que quiera probar. Para la instalación de aplicaciones personalizadas, consulte Cargar la aplicación en Teams. Tener un consentimiento de usuario autorizado para los permisos solicitados.
Importante
Las aplicaciones personalizadas deben proceder de la misma organización donde se instalan y el registro de la aplicación al que hace referencia webApplicationInfo.id debe pertenecer a esa organización. Si no se cumplen estos requisitos, Teams muestra:
"Las aplicaciones personalizadas deben proceder de la misma organización en la que se instalan y las webApplicationInfo.id deben estar registradas en la misma organización".
El identificador de error correspondiente es WebApplicationInfoIdOfSideloadedAppMustBeInTheSameTenantAsUser. Compruebe que está usando la organización prevista en Teams y que webApplicationInfo.id hace referencia a un registro de aplicación en esa organización. Para obtener el procedimiento de carga de aplicaciones personalizadas, consulte Cargar la aplicación en Teams.
Verifique las concesiones después de la primera instalación, después de cambiar los requisitos de permisos y completar la actualización de la aplicación y el flujo de consentimiento aplicables, o al solucionar una respuesta de acceso denegado. Esta comprobación distingue los permisos declarados en el manifiesto de los permisos concedidos realmente en un recurso específico.
Por ejemplo, si la aplicación lo solicita TeamSettings.Read.Group y se instala en el equipo A, inspeccione las concesiones para el equipo A. Busque el identificador de aplicación de la aplicación y confirme que sus concesiones incluyen ese permiso. Una subvención del equipo A no concede el mismo acceso al equipo B.
Los pasos siguientes inspeccionan los permisos RSC de la aplicación a través de Microsoft Graph. Los permisos RSC delegados se usan a través de las API de cliente de Teams en el contexto de un usuario que ha iniciado sesión; Las comprobaciones de concesión de aplicaciones siguientes no comprueban ese comportamiento delegado.
- Autorice la solicitud de comprobación.
- Compruebe los permisos RSC concedidos a un recurso específico.
Autorizar la solicitud de verificación
Puede usar Microsoft Graph Explorer para inspeccionar las concesiones de forma interactiva. Inicie sesión con una cuenta profesional o educativa de la organización donde está instalada la aplicación. Revise la sección Permisos de la referencia de API para el recurso que está inspeccionando y autorice el permiso delegado necesario para el Probador de Graph.
| Recurso | Referencia de la API | Permiso delegado con privilegios mínimos para inspección |
|---|---|---|
| Equipo | Enumerar permissionGrants de un equipo | TeamsAppInstallation.ReadForTeam |
| Chat | Enumerar permisosConcesiones de un chat | TeamsAppInstallation.ReadForChat |
| Usuario | Enumerar permisosConcesiones de un usuario | ResourceSpecificPermissionGrant.ReadForUser |
Estos permisos autorizan a la herramienta de inspección a leer las concesiones. No son los permisos que se comprueban para la aplicación. Un error de autorización en una solicitud de inspección no significa, por sí solo, que falte la concesión RSC de su aplicación.
Si en su lugar envía solicitudes desde su propia herramienta, obtenga un token de acceso de Microsoft Graph mediante el flujo de autenticación delegada adecuado o el flujo de autenticación de aplicaciones, con los permisos requeridos por esa API de inspección. No es necesario implementar la adquisición de tokens en la aplicación solo para usar Graph Explorer.
Comprobación de los permisos RSC concedidos a un recurso específico
Siga el procedimiento para su recurso a continuación. Los permissionGrants puntos de conexión devuelven concesiones, no una lista de aplicaciones instaladas. Para investigar la instalación por separado, use Aplicaciones de lista en el equipo, Aplicaciones de lista en el chat o Aplicaciones de lista para el usuario.
Importante
Los permisos RSC de aplicación autorizan la aplicación, no un usuario que ha iniciado sesión. Se puede permitir que la aplicación realice acciones que el usuario no puede, como eliminar una pestaña. Revise la intención del propietario del recurso antes de realizar las llamadas a la API RSC de la aplicación. Esto es independiente de la autorización delegada que podría usar en el Probador de Graph para inspeccionar las concesiones. Para obtener más información, vea Introducción a la API de Microsoft Teams.
En una respuesta correcta 200 OK :
- Busque entradas cuyas
clientAppIdcoincidenciaswebApplicationInfo.idse manifiesten en la aplicación. No lo confunda con el manifiestoidde la aplicación de nivel superior. - Compare cada entrada con los nombres de
permissionpermisos de aplicación declarados para ese ámbito de recursos. - Verifique que sea
Applicationpara las subvenciones de solicitud quepermissionTypeestá verificando.
Si no hay una concesión esperada, compruebe el id. de recursos, el paquete de la aplicación instalada y su id. de aplicación, y si se completó el consentimiento para los permisos actualizados. Trabaje con el administrador si la directiva de la organización impide el consentimiento. La inspección de las subvenciones confirma el acceso registrado; no prueba que las llamadas API de la aplicación funcionen. Seguimiento con Probar permisos de consentimiento específicos de recursos en Teams.
Comprobar si la aplicación tiene permisos RSC agregados en un equipo
En Teams, busque el equipo en el que ha instalado la aplicación.
Seleccione Más opciones (...) para ese equipo.
Seleccione Obtener vínculo al equipo en la lista desplegable.
Copie el valor de groupId del vínculo y úselo como
{team-id}en la siguiente solicitud.En el Probador de Graph, envíe la solicitud:
GET https://graph.microsoft.com/v1.0/teams/{team-id}/permissionGrantsHaga coincidir con
clientAppIdlos de la aplicación y compare los permisos devueltos con los permisos de aplicación solicitadoswebApplicationInfo.idpara el equipo.
Para obtener permisos de solicitud y detalles de respuesta, consulte Enumerar permisoGrants de un equipo.
Comprobar si la aplicación tiene permisos RSC agregados en un chat
Obtenga la Id. del chat en el que ha instalado la aplicación. Puede usar chats de lista para buscar un chat y su
id; revise los permisos de esa API antes de llamarlo.Reemplácelo
{chat-id}por el id. de chat y envíe la siguiente solicitud en el Explorador de Graph:GET https://graph.microsoft.com/v1.0/chats/{chat-id}/permissionGrantsHaga coincidir
clientAppIdcon los de la aplicación y compare los permisos devueltos con los permisos de aplicación solicitadoswebApplicationInfo.idpara el chat.
Para obtener permisos de solicitud y detalles de respuesta, consulte Enumerar permisosConcesiones de un chat.
Comprobación de la aplicación para obtener permisos RSC agregados para un usuario
Use Obtener usuario para buscar el identificador del usuario cuyo ámbito personal contiene la aplicación instalada. Revise los permisos de la API antes de llamarla.
Reemplazar
{user-id}por el identificador de usuario y enviar la siguiente solicitud en el Explorador de Graph:GET https://graph.microsoft.com/v1.0/users/{user-id}/permissionGrantsHaga coincidir con
clientAppIdlos de la aplicación y compare los permisos devueltos con los permisos de aplicación solicitadoswebApplicationInfo.idpara el usuario.
Para obtener permisos de solicitud y detalles de respuesta, consulte Enumerar permisoGrants de un usuario.
Ejemplo de código
Los dos ejemplos Node.js siguientes son ejemplos de pestañas de Teams que usan la biblioteca de cliente JavaScript de Teams (@microsoft/teams-js) y el cliente Microsoft Graph. No son ejemplos del SDK de Teams.
| Ejemplo de nombre | Descripción | .NET | Node.js | Manifiesto de la aplicación |
|---|---|---|---|---|
| Consentimiento específico de recursos (RSC) | En esta aplicación de ejemplo se muestra cómo solicitar permisos de consentimiento específico de recursos (RSC), usarlos para llamar a Microsoft Graph y enumerar las concesiones de permisos a través de una pestaña de Teams. | View | View | View |
| Configurar los permisos de RSC | En este ejemplo se muestra cómo configurar los permisos de consentimiento específico de recursos (RSC) en un manifiesto de aplicación de Teams y usarlos para llamar a Microsoft Graph, lo que le permite observar respuestas reales de la API tanto en canales de equipo como en chats grupales. | ND | View | ND |
Consulte también
- Probar permisos de consentimiento específicos del recurso en Teams
- Consentimiento específico del recurso para la aplicación de Teams
- Administre sus aplicaciones en el Portal para desarrolladores
- Conceder y administrar el consentimiento a los permisos de aplicación de Teams
- Enumerar permisosConcesiones de un usuario
- Enviar una notificación a un usuario